RabbitMQ简介及在Linux中安装部署(yum)

一、RabbitMQ简介及其作用

RabbitMQ简介及在Linux中安装部署(yum)_第1张图片

RabbitMQ简介

RabbitMQ是在2007 年发布,是一个在 AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,由于erlang 语言的高并发特性,性能较好,本质是个队列,FIFO 先入先出,里面存放的内容是message。RabbitMQ 是一个消息中间件:它接收消息并且转发,就类似于一个快递站,卖家把快递通过快递站,送到我们的手上,MQ也是这样,接收并存储消息,再转发。

RabbitMQ的主要作用:

  1. 异步处理。把消息放入消息中间件中,等到需要的时候再去处理。
  2. 流量削峰。例如秒杀活动,在短时间内访问量急剧增加,使用消息队列,当消息队列满了就拒绝响应,跳转到错误页面,这样就可以使得系统不会因为超负载而崩溃。
  3. 日志处理
  4. 应用解耦。假设某个服务A需要给许多个服务(B、C、D)发送消息,当某个服务(例如B)不需要发送消息了,服务A需要改代码再次部署;当新加入一个服务(服务E)需要服务A的消息的时候,也需要改代码重新部署;另外服务A也要考虑其他服务挂掉,没有收到消息怎么办?要不要重新发送呢?是不是很麻烦,使用MQ发布订阅模式,服务A只生产消息发送到MQ,B、C、D从MQ中读取消息,需要A的消息就订阅,不需要了就取消订阅,服务A不再操心其他的事情,使用这种方式可以降低服务或者系统之间的耦合。

二、使用yum安装部署的步骤

1.环境配置:

echo "export LC_ALL=en_US.UTF-8"  >>  /etc/profile

curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash


curl -s https://packagecloud.io/install/repositories/rabbitmq/erlang/script.rpm.sh | sudo bash

2.安装RabbitMQ(记得输入: y)

sudo yum install rabbitmq-server-3.8.2-1.el7.noarch

3.启动RabbitMQ

systemctl start rabbitmq-server

4.添加admin用户(Username: admin   Password: password)

rabbitmqctl add_user admin password

rabbitmqctl set_user_tags admin administrator

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

5.开放端口号15672,并且登录

rabbitmq:3.8版本开始,管理插件包含在RabbitMQ发行版中。与其他任何插件一样,必须先启用它,然后才能使用它。这是使用rabbitmq-plugins完成的:执行此命令即可:

rabbitmq-plugins enable rabbitmq_management
firewall-cmd --zone=public --add-port=15672/tcp --permanent 

firewall-cmd --reload 

firewall-cmd --zone=public --list-ports

浏览器访问ip: 15672,用admin,密码password即可登录

RabbitMQ简介及在Linux中安装部署(yum)_第2张图片

 三、RabbitMQ相关的基础命令

1.开启web管理界面

rabbitmq-plugins enable rabbitmq_management

2.停止RabbitMQ

rabbitmqctl stop

3.设置开机启动

systemctl enable rabbitmq-server

4.启动RabbitMQ

systemctl start rabbitmq-server

5.看看端口有没有起来,查看状态

rabbitmqctl status

6.要检查RabbitMQ服务器的状态,请运行:

systemctl status rabbitmq-server

7.添加权限

rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*"

你可能感兴趣的:(java-rabbitmq,rabbitmq,java)