一、RabbitMQ 基础概念
-
什么是 MQ (Message Queue)
-
定义:消息队列,是一种消息中间件。
-
作用:主要用于微服务架构中,作为服务之间通信的媒介。
-
模型 :
Sender (生产者)→MQ (消息队列)→Consumer (消费者)。
-
-
什么是 AMQP 协议
-
定义:Advanced Message Queuing Protocol(高级消息队列协议)。
-
说明:文档中提到了该协议的定义,但关于"RabbitMQ的实现类"部分内容为空,未列出具体实现细节。
-
-
什么是 RabbitMQ
- 定义:RabbitMQ 是使用 Erlang 语言编写的,一个实现了 AMQP 协议的开源消息中间件。
-
使用 RabbitMQ 的好处
-
解耦:服务 A 只需将消息发送到 MQ,无需关心下游服务(B、C、D)。新增服务 D 时,无需修改服务 A 的代码。
-
异步:服务 A 发送消息后即可返回,B、C 服务以异步方式处理消息,提高系统响应速度。
-
削峰:在高并发场景下,消费者可以按照自身的处理能力从 MQ 中拉取消息,避免系统被瞬时流量冲垮。
-
-
Spring Boot 启动器
- 在 Spring Boot 项目中集成 RabbitMQ 使用的依赖是:
spring-boot-starter-amqp。
- 在 Spring Boot 项目中集成 RabbitMQ 使用的依赖是:
二、RabbitMQ 安装与配置
文档提供了在 Linux (CentOS) 环境下安装 RabbitMQ 3.4.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
-
-
安装 RabbitMQ Server
rpm -ivh rabbitmq-server-3.4.1-1.noarch.rpm -
服务管理命令
-
启动:
service rabbitmq-server start -
查看状态:
service rabbitmq-server status -
停止:
service rabbitmq-server stop -
重启:
service rabbitmq-server restart -
设置开机自启:
chkconfig rabbitmq-server on
-
-
安装 Web 管理插件
-
启用插件:
rabbitmq-plugins enable rabbitmq_management -
重启服务生效:
service rabbitmq-server restart
-
-
创建管理员账户
-
添加用户(用户名
admin,密码1111):rabbitmqctl add_user admin 1111 -
设置用户标签为管理员:
rabbitmqctl set_user_tags admin administrator -
授权(配置、写、读权限):
rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" -
查看用户列表:
rabbitmqctl list_users
-
-
访问测试
-
通过浏览器访问:
http://192.168.61.137:15672 -
(注:文档末尾的链接
http://192.168.61.137:15672csdn存在拼接错误,正确地址应为上述地址)
-