RabbitMQ简介
RabbitMQ是一个开源的消息代理的队列服务器, 用来通过普通协议在完全不同的应用之间共享数据。
RabbitMQ是使用Erlang语言来编写的,并且RabbitMQ是基于AMQP协议的。Erlang语言在数据交互方面性能优秀,有着和原生Socket一样的延迟,这也是RabbitMQ高性能的原因所在。可谓“人如其名”,RabbitMQ像兔子一样迅速。
消息队列提供一个异步通信机制,消息的发送者可以立即返回,而不必一直等到消息被成功处理才返回。消息中间件负责处理网络通信,如果网络连接不可用,消息则被暂时存储在队列中,当网络畅通时,再将消息转发给响应的应用程序或者服务,当然前提是这些服务订阅了该队列。如果在商品服务和订单服务之间使用消息中间件,既可以提高并发量,又可以降低服务之间的耦合度。
一、下载镜像
docker pull rabbitmq:management
二、运行启用RabbitMQ容器
(一)关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
# 网络环境发生变化,需要重启docker系统服务
systemctl restart docker
(二)运行启用RabbitMQ容器
docker run -d --name rabbit \
-p 5672:5672 \
-p 15672:15672 \
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=admin \
rabbitmq:management
说明: 5672 与客户端应用通信的端口
15672 管理控制台界面的访问端口
-e 添加两个环境变量,设置管理员用户名和密码
查看正在运行的容器
删除容器
docke rm -f rabbit
(三)客户端访问控制
地址:(IP+默认端口15672) http://192.168.64.140:15672
登录名及密码均为admin
三、使用示例
(一)配置刷新指令
添加bus,实现配置刷新,通过rabbitmq主题模式接收消息。
(二)链路跟踪日志
sleuth+zipkin 链路跟踪 ,通过rabbitmq简单模式接收消息。