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存在拼接错误,正确地址应为上述地址)

相关推荐
wWYy.11 小时前
分布式:数据复制
分布式
正儿八经的少年17 小时前
分布式 ID
分布式
七夜zippoe18 小时前
深入解析CANN仓库中的HCCL分布式通信库
pytorch·分布式·cann·hccl·通信库
富士康质检员张全蛋18 小时前
Kafka的操作 消费者组 消费位置查看
分布式·kafka
运维行者_18 小时前
如何查看每个IP的带宽使用情况?NetFlow 技术实战指南
开发语言·网络·分布式·后端·架构·带宽
笨鸟先飞的橘猫18 小时前
游戏后端分布式学习——一致性协议Raft
分布式·学习·游戏
谢白羽18 小时前
vllm源码剖析14-vLLM 分布式推理-专家并行EP
笔记·分布式·llm·论文·vllm
YDS82920 小时前
大营销平台 —— 活动SKU库存扣减业务及其一致性处理
java·spring boot·redis·rabbitmq·ddd
霸道流氓气质21 小时前
Kiro 中配置 RabbitMQ MCP Server 指南
分布式·rabbitmq·ruby
国科安芯21 小时前
AS32S601型抗辐射MCU在分布式太空算力架构中的技术演进与应用前景
人工智能·分布式·单片机·嵌入式硬件·架构·边缘计算