1 Rabbitmq 介绍:
RabbitMQ 是一个开源的消息代理软件,通常用于构建分布式系统,支持多种消息传递协议,并支持多种编程语言。RabbitMQ 基于 AMQP (Advanced Message Queuing Protocol) 协议开发,是一个高可用、高可靠、高可扩展、跨平台的消息队列系统。
使用 RabbitMQ,可以将应用程序之间的通信解耦,提高应用程序的可靠性和可伸缩性。它实现了高效的消息传递和路由机制,能够处理不同类型的消息、支持消息的持久化和传输确认机制,可以保证消息传输的高可靠性,并支持消息的优先级和过期时间等特性。
RabbitMQ 的基本架构包含以下组件:
- Producer:消息的生产者,用于向消息队列发送消息。
- Queue:消息队列,用于存储消息。
- Exchange:消息的路由器,用于接收来自生产者的消息并根据路由规则将消息路由到一个或多个队列。
- Consumer:消息的消费者,从队列中获取消息并进行处理。
RabbitMQ 还提供了其他高级特性,如:
- Clustering:支持集群模式,实现高可用、高扩展性。
- AMQP 0-9-1 协议支持
- Web 管理界面:提供 Web 界面管理和监控 RabbitMQ。
- 消息持久化:支持将消息存储到磁盘上,即使服务器发生故障也能够保证消息不丢失。
- 传输确认:支持生产者确认消息送达到 RabbitMQ 服务器。
总之,RabbitMQ 是一个强大而灵活的消息队列系统,可用于构建复杂的分布式系统、集群和微服务。
2 安装:
2.1 下载rabbitmq 镜像:
这里选择带有Web 管理插件的 “-management” 镜像:
docker pull rabbitmq:3.9-management
2.2 创建rabbitmq 用于rabbitmq 数据的存储
mkdir rabbitmq
2.3 运行镜像:
docker run -d \
--name rabbitmq3.9 \
-p 5672:5672 -p 15672:15672\
-v /root/rabbitmq:/var/lib/rabbitmq \
--hostname myRabbit \
-e RABBITMQ_DEFAULT_VHOST=my_vhost\
-e RABBITMQ_DEFAULT_USER=admin \
-e RABBITMQ_DEFAULT_PASS=rabbitmq \
rabbitmq:3.9-management
-
-d 后台运行容器;
-
–name 指定容器名;
-
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-
-v 映射目录或文件 宿主机目录:docker容器目录;
-
–hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;
-
-e RABBITMQ_DEFAULT_USER:默认的用户名;
-
-e RABBITMQ_DEFAULT_PASS:默认用户名的密码)
rabbitmq:3.9-management :镜像名称
3 访问:
http://localhost:15672/#/ 用户名/密码: admin/rabbitmq
4 参考:
4.1 docker 安装RabbitMQ(镜像安装);