RabbitMQ 简介
一、什么是RabbitMQ?
RabbitMQ简称MQ是一套实现了高级消息队列协议的开源消息代理软件,简单来说就是一个消息中间件。是一种
程序对程序的通信方法,其服务器也是以高性能、健壮以及可伸缩性出名的Erlang语言编写而成。
RabbitMQ是干什么的?
RabbitMQ简单来说就是一个消息队列中间件,用来保存消息和传递消息的一个容器。充当一个中间人的作用。
而队列的主要目的就是提供正确的路由来保证消息的传递;如果发送消息时消费者不可用的话,默认情况下该消
息将会一直被存储在队列中,直到消费者消费为止。
那么同时呢,如果设置了消息存活的时间,即消息的有效期。在此有效期间消息如果还没有被消费的话,那么该
消息就会变成死信,由死信交换机接收。而绑定死信交换机的队列则称为死信队列。
RabbitMQ的常见作用有那些?
RabbitMQ的常见作用有三种,分别是服务间解耦、实现异步通信、流量削峰。
主要实现了消费者和生产者之间的解耦,发送异步消息,高并发访问解决流量削锋等问题。实现高性能,高可
用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
华为云服务器 Docker安装 RabbitMQ
1、拉取镜像
docker pull rabbitmq
2、启动
docker run -dit --name rabbitmq -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -p 5672:5672 rabbitmq:latest
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)15672是管理界面的端口,5672是服务的端口。这里顺便将管理系统的用户名和密码设置为admin 123456
3、进入容器
docker exec -it 6d49b17f4fcd /bin/bash
4、安装插件
rabbitmq-plugins enable rabbitmq_management
5、开放开防火墙端口 和 开放华为云安全组
firewall-cmd --add-port=15672/tcp --permanentfirewall-cmd --reload
6、网址访问 默认登陆名和密码 admin admin
IP:15672
RabbitMQ 详情页面