RabbitMQ是在2007 年发布,是一个在 AMQP(高级消息队列协议)基础上完成的,可复用的企业消息系统,是当前最主流的消息中间件之一。RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,由于erlang 语言的高并发特性,性能较好,本质是个队列,FIFO 先入先出,里面存放的内容是message。RabbitMQ 是一个消息中间件:它接收消息并且转发,就类似于一个快递站,卖家把快递通过快递站,送到我们的手上,MQ也是这样,接收并存储消息,再转发。
RabbitMQ的主要作用:- 异步处理。把消息放入消息中间件中,等到需要的时候再去处理。
- 流量削峰。例如秒杀活动,在短时间内访问量急剧增加,使用消息队列,当消息队列满了就拒绝响应,跳转到错误页面,这样就可以使得系统不会因为超负载而崩溃。
- 日志处理
- 应用解耦。假设某个服务A需要给许多个服务(B、C、D)发送消息,当某个服务(例如B)不需要发送消息了,服务A需要改代码再次部署;当新加入一个服务(服务E)需要服务A的消息的时候,也需要改代码重新部署;另外服务A也要考虑其他服务挂掉,没有收到消息怎么办?要不要重新发送呢?是不是很麻烦,使用MQ发布订阅模式,服务A只生产消息发送到MQ,B、C、D从MQ中读取消息,需要A的消息就订阅,不需要了就取消订阅,服务A不再操心其他的事情,使用这种方式可以降低服务或者系统之间的耦合。
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.启动RabbitMQsystemctl 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即可登录
三、使用Docker部署的步骤使用Docker安装RibbitMQ相对与yum更加简单点
1.首先拉取镜像docker pull rabbitmq:3.8-management
2. 使用以下命令来运行(用户名:buliangshuai 密码:123456)docker run \
-e RABBITMQ_DEFAULT_USER=buliangshuai \
-e RABBITMQ_DEFAULT_PASS=123456 \
-v mq-plugins:/plugins \
--name mq \
--hostname mq \
-p 15672:15672 \
-p 5672:5672 \
-d \
rabbitmq:3.8-management
至于开放端口、添加权限等操作可看上下文。
四、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 ".*" ".*" ".*"
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网页题目:RabbitMQ简介及在Linux中安装部署(yum或者Docker)-创新互联
转载注明:http://scgulin.cn/article/dosped.html