RabbitMQ

一、RabbitMQ 基础概念

  1. 什么是 MQ (Message Queue)

    • 定义:消息队列,是一种消息中间件。

    • 作用:主要用于微服务架构中,作为服务之间通信的媒介。

    • 模型Sender (生产者)MQ (消息队列)Consumer (消费者)

  2. 什么是 AMQP 协议

    • 定义:Advanced Message Queuing Protocol(高级消息队列协议)。

    • 说明:文档中提到了该协议的定义,但关于"RabbitMQ的实现类"部分内容为空,未列出具体实现细节。

  3. 什么是 RabbitMQ

    • 定义:RabbitMQ 是使用 Erlang 语言编写的,一个实现了 AMQP 协议的开源消息中间件。
  4. 使用 RabbitMQ 的好处

    • 解耦:服务 A 只需将消息发送到 MQ,无需关心下游服务(B、C、D)。新增服务 D 时,无需修改服务 A 的代码。

    • 异步:服务 A 发送消息后即可返回,B、C 服务以异步方式处理消息,提高系统响应速度。

    • 削峰:在高并发场景下,消费者可以按照自身的处理能力从 MQ 中拉取消息,避免系统被瞬时流量冲垮。

  5. Spring Boot 启动器

    • 在 Spring Boot 项目中集成 RabbitMQ 使用的依赖是:spring-boot-starter-amqp

二、RabbitMQ 安装与配置

文档提供了在 Linux (CentOS) 环境下安装 RabbitMQ 3.4.1 版本的具体步骤:

  1. 安装 Erlang 环境

    • 进入上传目录:cd /usr/upload

    • 依次安装三个 RPM 包(强制且无依赖检查):

      复制代码
      rpm -ivh esl-erlang-17.3-1.x86_64.rpm --force --nodeps
      rpm -ivh esl-erlang_17.3-1~centos~6_amd64.rpm --force --nodeps
      rpm -ivh esl-erlang-compat-R14B-1.el6.noarch.rpm --force --nodeps
  2. 安装 RabbitMQ Server

    复制代码
    rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm
  3. 服务管理命令

    • 启动:service rabbitmq-server start

    • 查看状态:service rabbitmq-server status

    • 停止:service rabbitmq-server stop

    • 重启:service rabbitmq-server restart

    • 设置开机自启:chkconfig rabbitmq-server on

  4. 安装 Web 管理插件

    • 启用插件:rabbitmq-plugins enable rabbitmq_management

    • 重启服务生效:service rabbitmq-server restart

  5. 创建管理员账户

    • 添加用户(用户名 admin,密码 1111):rabbitmqctl add_user admin 1111

    • 设置用户标签为管理员:rabbitmqctl set_user_tags admin administrator

    • 授权(配置、写、读权限):rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

    • 查看用户列表:rabbitmqctl list_users

  6. 访问测试

    • 通过浏览器访问:http://192.168.61.137:15672

    • (注:文档末尾的链接 http://192.168.61.137:15672csdn存在拼接错误,正确地址应为上述地址)

相关推荐
阿萨德528号4 小时前
Windows RabbitMQ 启动完整指南(附启动报错解决、如何以服务方式后台运行)
windows·rabbitmq·ruby
Little Tomato5 小时前
深入浅出高并发:从 JVM 锁竞争到分布式事务的性能博弈
jvm·分布式
zshs0006 小时前
从 Raft 到 MySQL:我是怎么推导出半同步复制原理的
数据库·分布式·mysql
凯瑟琳.奥古斯特6 小时前
页面置换算法详解与对比
开发语言·分布式·职场和发展
KANGBboy7 小时前
hadoop冷热数据分离
大数据·hadoop·分布式
skilllite作者7 小时前
Evotown——开启本地化、可验证的AI智能体进化新时代
人工智能·分布式·安全·搜索引擎·agentskills
敏君宝爸8 小时前
RabbitMQ多线程消费与死信队列方案
分布式·rabbitmq
tsyjjOvO8 小时前
深入浅出 RabbitMQ:从原理到实战
分布式·rabbitmq
爱吃苹果的梨叔8 小时前
2026年分布式坐席系统技术指南:从KVM延长到全IP坐席协作
分布式·网络协议·tcp/ip
容器魔方8 小时前
Kthena 核心原语:ModelServing CRD 如何定义分布式推理“新标准”?
大数据·分布式·云原生·容器·云计算