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

相关推荐
深蓝电商API2 小时前
Redis 在分布式爬虫中的作用
redis·分布式·爬虫
凤山老林2 小时前
高可用分布式任务调度架构:Spring Boot 集成 PowerJob 实战指南
spring boot·分布式·架构
Dreams_l6 小时前
如何保证RabbitMQ消息可靠传输
java·rabbitmq·java-rabbitmq
海宇数据6 小时前
零信任架构实战:基于海宇运营商近3个月平均账单构建自动化分布式租赁网关
人工智能·分布式·架构·自动化
IT大白鼠7 小时前
MySQL 分布式集群系列 · 第二篇:架构深度拆解--NDB 三大核心节点
分布式·mysql·架构
醉颜凉7 小时前
Kafka ISR与AR深度解析:副本同步机制核心概念
分布式·架构·kafka·ar
johnny2337 小时前
大模型分布式训练理论和框架:DeepSpeed、Megatron、Torchrun
分布式
倔强的石头10610 小时前
高可用与无感扩容——分布式时序数据库选型指南
数据库·分布式·时序数据库
fastjson_1 天前
Spark 安装和使用
大数据·分布式·spark
spter。1 天前
从一次关注到最终一致:Canal、Outbox 与 Kafka 如何解决关系链双写问题
分布式·kafka