RabbitMQ-3.12:安装教程详解

安装环境: centOS7操作系统

1.1 什么是MQ

MQ即消息队列(Message Queue),是一种用于进行异步通信的技术。它允许应用程序异步地向队列中发送消息,而不需要立即等待接收方处理完毕。MQ将消息缓存在队列中,等待消费者进行处理

1.2 什么是RabbitMQ

RabbitMQ是一个开源的消息队列中间件,它实现了 AMQP(Advanced Message Queuing Protocol)协议,并提供了一套强大的消息传递机制。它是由Erlang语言编写的,具有高性能、可靠性和可扩展特性

1.3 常用的消息中间件

RabbitMQ
RocketMQ
Apach Kafka
Apache ActiveMQ

1.4 MQ 应用场景异步通讯

在分布式系统中,不同的服务可能需要共享数据,通过使用消息队列,可以将数据更新操作以消息形式广播到相关服务中,确保数据的一致性和同步性发送方可以将消息发送到消息队列中,而无需等待接收方的即时响应,可以提高系统的响应速度和吞吐量,并解耦发送方和接收方之间的依赖关系

系统解耦

在分布式系统中,多个系统之间,不需要直接交互,通过消息进行业务流转

削峰填谷

在高并发场景下,消息队列可以用于平衡系统的负载。将请求放入消息队列,根据系统的处理能力逐渐消费消息,避免了突发请求对系统造成的压力,实现了削峰填谷的效果

数据同步

在分布式系统中,不同的服务可能需要共享数据,通过使用消息队列,可以将数据更新操作以消息形式广播到相关服务中,确保数据的一致性和同步性

日志处理

将系统的日志信息发送到消息队列,消费者可以独立地处理和存储日志,提供了可靠的日志收集和分析能力

任务调度

将任务放入消息队列中,消费者根据自身的处理能力从队列中获取任务并执行。这种方式可以实现任务的异步执行、提高系统的可伸缩性,同时保证任务的可靠性

二、RabbitMQ 下载安装与配置

2.1 下载Erlang

RabbitMQ是使用Erlang语言开发的,所以要先下载安装Erlang
下载时注意版本兼容性问题:Rabbit Erlang 版本要求
这边我用最新的版本为大家讲解~

Erlang官网
OTP Versions Tree,速度会快很多

# 在根目录创建software文件夹
[root@localhost ~]# mkdir software

# 进入文件夹,用xftp将Erlang的安装包放到该文件夹下,好管理
[root@localhost ~]# cd software

# 安装Erlang之前,需要下载一些依赖包
[root@localhost software]# yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel

# 解压文件Erlang文件夹
[root@localhost software]# tar -zxvf otp-src_26.0.2.tar.gz

# 进入解压后的文件夹
[root@localhost software]# cd otp-OTP-26.0.2/

# 配置Erlang
[root@localhost otp-OTP-26.0.2]# ./configure

# 编译Erlang(过程可能有点长,如有问题,ctrl + z,重新在执行一遍吗,makemake

# 安装
make install

验证是否安装成功, 输入:erl,如果进入了编程命令行则表示安装成功,退出按 ctrl + z

2.2 安装RabbitMQ

RabbitMQ下载网址

 

# 将压缩包放在software文件夹下,解压到/usr/local 文件夹下
[root@localhost software]# tar -xvf rabbitmq-server-generic-unix-3.12.2.tar.xz -C /usr/local/

# 进入 /usr/local/rabbitmq_server-3.12.2/ 文件夹
[root@localhost software]# cd /usr/local/rabbitmq_server-3.12.2/

# 进入 sbin/ 文件夹,这个文件夹下,就是RabbitMQ 所有的功能
[root@localhost rabbitmq_server-3.12.2]# cd sbin/

# 启动RabbitMQ 服务(-detached:后台启动(默认前台启动))
[root@localhost sbin]# ./rabbitmq-server  -detached

# 查看RabbitMQ 服务状态
[root@localhost sbin]# ./rabbitmqctl status

# 停止RabbitMQ 服务状态
[root@localhost sbin]#./rabbitmqctl shutdown

# 配置PATH 环境变量,这样可以在全局使用rabbit的命令,不用局限在rabbitmq的文件夹下
vi +$ /etc/profile # +$可以直接定位到文件的最后一行

RABBIT_HOME=/usr/local/rabbitmq_server-3.12.2 # 建议直接复制,注意路径
PATH=$PATH:$RABBIT_HOME/sbin
export RABBIT_HOME PATH

# 刷新/etc/profile
[root@localhost /]# source /etc/profile

# 测试是否配置成功,如果运行成功,就代表配置成功,反之,可能配置的文件路径有问题
cd /
rabbitmq-server -detached     # 启动服务
rabbitmqctl status             # 查看服务状态
rabbitmqctl shutdown        # 关闭服务

2.3 RabbitMQ 用户管理

用户管理包括增加用户,删除用户,查看用户列表,修改用户密码

rabbitmqctl list_users                                    # 常看当前用户列表
rabbitmqctl add_user admin root                            # 新增用户(设置账号、密码)
rabbitmqctl set_user_tags  admin administrator             # 设置用户(admin)角色为:administrator 
rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"    # 设置用户的权限
rabbitmqctl list_permissions                            # 查看用户的参数

2.4 RabbitMQ 启动 Web控制台

Rabbitmq有web管理后台,这个管理后台是以插件的方式提供的,启动后台web管理功能

rabbitmq-plugins list                             # rabbitmq 插件列表
rabbitmq-plugins enable rabbitmq_management     # 启用web控制台 
rabbitmq-plugins disable rabbitmq_management     # 禁用web控制台

访问 Web控制台

ip:15672

posted @ 2023-12-12 14:59  study_php_java_C++  阅读(1003)  评论(0编辑  收藏  举报