rabbitmq-最常用的消息队列mq安装详解!!
rabbitmq-简介
文档内安装包下载不到或找不到者可找me拿!!!!!
一、使用rabbitmq消息队列的优点
- 异步:提升系统的响应速度,吞吐量。
- 解耦:服务之间进行解耦,才可以减少服务之间的影响,提高系统整体的稳定性以及可扩展性。另外解耦后可以实现数据分发。生产者发送一个消息后,可以由一个或者多个消费者进行消费,并且消费者的增加或者减少对生产者没有影响。
- 削峰:以稳定的系统资源应对突发的流量冲击。
二、使用rabbitmq消息队列的缺点
- 系统可用性降低:系统引入的外部依赖增多,稳定性就会变差。一旦mq宕机,就会对业务产生影响。(可考虑通过高可用模式解决)
- 系统的复杂度提高:引入mq后系统的复杂度会大大提高。以前服务之间可以进行同步的服务调用,引入mq后,会变成异步调用,数据链路会变得更复杂。并且还会带来一系列的问题。(如何保证消息不会丢失?不会被重复调用?怎么保证消息的顺序性?)
- 消息一致性问题:a系统处理完业务,通过mq发送消息给b、c系统进行后续的业务处理。如果b系统成功,c系统失败,这就需要考虑消息的一致性。
三、linux操作系统环境规划
| ip地址 | hostname | 操作系统版本 | 服务器类别 |
|---|---|---|---|
| 10.0.0.* | app | centos 7(或者麒麟v10) | 虚拟机vmware |
四、安装 erlang
- rabbitmq是用erlang语言编写的,所以在安装rabbitmq之前需要安装erlang。
- 在构建rabbitmq环境的过程中,rabbitmq和erlang的版本要对应关系,官网上可以查看rabbitmq和erlang的版本问题:erlang version requirements!可点击跳转!
- erlang官网地址:erlang official website!可点击跳转! 下载安装包。
[root@app rabbitmq]# ll
总用量 39584
-rw-r--r-- 1 root root 21846184 7月 18 10:50 erlang-26.2.5.2-1.el8.x86_64.rpm
- 执行rpm命令安装 erlang
[root@app rabbitmq]# rpm -uvh erlang-26.2.5.2-1.el8.x86_64.rpm
警告:erlang-26.2.5.2-1.el8.x86_64.rpm: 头v4 rsa/sha256 signature, 密钥 id 6026dfca: nokey
verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:erlang-26.2.5.2-1.el8 ################################# [100%]
- 安装完成后检查版本确认
[root@app rabbitmq]# erl -version
erlang (smp,async_threads) (beam) emulator version 14.2.5.2
五、安装 rabbitmq详解
5.1 安装socat
[root@app rabbitmq]# yum install -y socat
依赖关系解决。
===========================================================================================================================================================================
package architecture version repository size
===========================================================================================================================================================================
安装:
socat x86_64 1.7.3.2-8.ky10 ks10-adv-os 155 k
事务概要
===========================================================================================================================================================================
安装 1 软件包
总下载:155 k
安装大小:560 k
下载软件包:
socat-1.7.3.2-8.ky10.x86_64.rpm 435 kb/s | 155 kb 00:00
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
总计 427 kb/s | 155 kb 00:00
运行事务检查
事务检查成功。
运行事务测试
事务测试成功。
运行事务
准备中 : 1/1
安装 : socat-1.7.3.2-8.ky10.x86_64 1/1
运行脚本: socat-1.7.3.2-8.ky10.x86_64 1/1
验证 : socat-1.7.3.2-8.ky10.x86_64 1/1
已安装:
socat-1.7.3.2-8.ky10.x86_64
完毕!
5.2 rabbitmq 安装
- 下载好安装包后执行rpm命令安装
[root@app rabbitmq]# rpm -uvh rabbitmq-server-3.13.4-1.el8.noarch.rpm
警告:rabbitmq-server-3.13.4-1.el8.noarch.rpm: 头v4 rsa/sha512 signature, 密钥 id 6026dfca: nokey
verifying... ################################# [100%]
准备中... ################################# [100%]
正在升级/安装...
1:rabbitmq-server-3.13.4-1.el8 ################################# [100%]
/usr/lib/tmpfiles.d/pesign.conf:1: line references path below legacy directory /var/run/, updating /var/run/pesign → /run/pesign; please update the tmpfiles.d/ drop-in file accordingly.
/usr/lib/tmpfiles.d/rabbitmq-server.conf:1: line references path below legacy directory /var/run/, updating /var/run/rabbitmq → /run/rabbitmq; please update the tmpfiles.d/ drop-in file accordingly.
5.3 启动 rabbitmq
[root@app rabbitmq]# systemctl start rabbitmq-server
5.4 启动完成后检查
[root@app rabbitmq]# systemctl status rabbitmq-server
● rabbitmq-server.service - rabbitmq broker
loaded: loaded (/usr/lib/systemd/system/rabbitmq-server.service; disabled; vendor preset: disabled)
active: active (running) since thu 2024-07-18 10:56:02 cst; 11s ago
main pid: 35463 (beam.smp)
tasks: 28
memory: 85.8m
cgroup: /system.slice/rabbitmq-server.service
├─35463 /usr/lib64/erlang/erts-14.2.5.2/bin/beam.smp -w w -mbas ageffcbf -mhas ageffcbf -mblmbcs 512 -mhlmbcs 512 -mmmcs 30 -pc unicode -p 1048576 -t 5000000 ->
├─35476 erl_child_setup 32768
├─35495 sh -s disksup
5.5 常用命令
# 启动服务
> systemctl start rabbitmq-server
# 查看服务状态
> systemctl status rabbitmq-server
# 停止服务
> systemctl stop rabbitmq-server
# 开机启动服务
> systemctl enable rabbitmq-server
六、图形化管理界面及授权操作
6.1 安装图形化管理界面
[root@app rabbitmq]# rabbitmq-plugins enable rabbitmq_management
enabling plugins on node rabbit@app:
rabbitmq_management
the following plugins have been configured:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
applying plugin configuration to rabbit@app...
the following plugins have been enabled:
rabbitmq_management
rabbitmq_management_agent
rabbitmq_web_dispatch
started 3 plugins.
6.2 访问地址(ip+端口15672)

6.3 创建授权账户密码
- 新增用户命令
[root@app rabbitmq]# rabbitmqctl add_user admin admin
- 设置用户角色
用户级别:
1、administrator 可以登录控制台、查看所有信息、可以对rabbitmq进行管理
2、monitoring 监控者 登录控制台,查看所有信息
3、policymaker 策略制定者 登录控制台,指定策略
4、managment 普通管理员 登录控制台
-------------------------------------
[root@app rabbitmq]# rabbitmqctl set_user_tags admin administrator
setting tags for user "admin" to [administrator] ...
- 为用户设置权限命令
[root@app rabbitmq]# rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"
6.4 登录界面访问

发表评论