1 RabbitMQ 概述及安装

felix.shao2025-02-18

1 RabbitMQ 概述及安装

概述

 本部分的相关内容引用了书籍 [RabbitMQ 实战指南] 的部分内容,如需完整内容需阅读原书籍。
 特点:

  • 可靠性:Rabbitmq 使用一些机制来保证可靠性,如持久化、传输确认和发布确认等。
  • 灵活的路由:在消息进入队列之前,通过交换器来路由消息。
  • 扩展性:可以动态地扩展集群中节点。
  • 高可用性:队列可以在集群中的机器上设置镜像,使得在部分节点出现问题的情况下队列仍然可用。
  • 多种协议:原生支持 AMQP 协议,还支持 STOMP、MQIT 等多种消息中间件协议。
  • 多语言客户端
  • 管理界面:RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息、集群中的节点等。
  • 插件机制:可以使用现有的插件,也可以编写自己的插件

安装

 RabbitMQ 是由 Erlang 语言编写的,以在 linux 环境下安装为例说明,先安装 Erlang,再安装 RabbitMQ 。先下载资源:

  • centos7
  • jdk 1.8
  • erlang 23.3.4.5
  • rabbitmq 3.9.11

 PS : 官方RabbitMQ与Erlang版本依赖关系open in new window

卸载老的 RabbitMQ 和 Erlang

1. 卸载RabbitMQ
$ /sbin/service rabbitmq-server stop
$ yum list | grep rabbitmq
$ yum -y remove rabbitmq-server.noarch
$ rm -rf /var/lib/rabbitmq

2. 卸载Erlang
$ yum list | grep erlang
$ yum -y remove erlang-*
$ yum remove erlang.x86_64
$ rm -rf /usr/lib64/erlang

安装 Erlang

  • Erlang RPM下载open in new window  下载安装包,$ wget https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3.4.7/erlang-23.3.4.7-1.el7.x86_64.rpm
     1. 提前安装依赖:$ yum install -y gcc gcc-c++ glibc-devel make ncurses-devel openssl-devel autoconf  2. 安装: $ yum install -y /mnt/hgfs/vmshare/rabbitmq/erlang-23.3.4.7-1.el7.x86_64.rpm  3. 查看版本:$ erl , 退出查看版本 $ halt().

安装 RabbitMQ

$ wget https://github.com/rabbitmq/rabbitmq-server/releases/download/v3.9.11/rabbitmq-server-3.9.11-1.el7.noarch.rpm
  1. 安装:
$ rpm --import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc
$ yum install socat logrotate -y
$ yum install -y /mnt/hgfs/vmshare/rabbitmq/rabbitmq-server-3.9.11-1.el7.noarch.rpm

安装后的目录为:
/usr/lib/rabbitmq/lib/rabbitmq_server-3.9.11

RabbitMQ 常用命令

1:第一种方式,不推荐
启动:
$ rabbitmq-server start
停止
$ rabbitmq-server stop

2:第二种方式,推荐
启动:
$ systemctl start rabbitmq-server.service
停止:
$ systemctl stop rabbitmq-server.service
查看状态:
$ systemctl status rabbitmq-server.service
开机自动启动:
$ systemctl enable rabbitmq-server

启动 UI 插件

$ rabbitmq-plugins enable rabbitmq_management
# 查看用户,默认只有guest支持localhost访问
$ rabbitmqctl list_users
# 创建用户及设置权限命令
$ rabbitmqctl add_user {username} {password} 
$ rabbitmqctl set_user_tags {username} administrator
# 我们创建admin用户并授权: 
$ rabbitmqctl add_user admin admin
$ rabbitmqctl set_user_tags admin administrator

# 另外也可以配置好权限(可选),通过代码登录时需要这个权限
$ rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

 PS : UI 页面为http://192.168.1.1:15672/,如果页面无法访问,需要注意防火墙和 SElinux 的问题

生产和消费消息

 通过使用 spring boot 来演示使用 RabbitMQ。

参考文献

Last Updated 2/18/2025, 5:05:12 PM