RabbitMQ 是一个功能强大的开源消息队列系统,它实现了高效的消息通信和异步处理。 本文主要介绍其基于 Docker-Compose 的部署安装和一些使用的经验。
使用 Docker Compose V2 安装 rabbitmq v3.12.6
本篇文章基于 Docker V24 及 Docker Compose V2,安装可以参考之前的文章
rabbitmq:3.12.6-management
rabbitserver
admin_vhost
root
devops666
5672
:应用连接端口 15672
:web 管理界面./data:/var/lib/rabbitmq
./myplugins:/myplugins
RabbitMQ 容器中默认插件目录是 /plugins 不推荐挂载RABBITMQ_PLUGINS_DIR: '/plugins:/myplugins'
docker network create devopsnetwork
)准备好 compose.yml 拷贝到服务器
然后运行docker compose up -d
即可
version: '3.1'
services:
rabbitmq:
image: rabbitmq:3.12.6-management
container_name: rabbitmq_3_12
restart: always
# 节点名 rabbit@rabbitserver,不然会去容器ID
hostname: rabbitserver
environment:
# 默认虚拟机名
RABBITMQ_DEFAULT_VHOST: admin_vhost
# 用户名
RABBITMQ_DEFAULT_USER: root
# 密码
RABBITMQ_DEFAULT_PASS: devops666
# 指定自定义插件目录
RABBITMQ_PLUGINS_DIR: '/plugins:/myplugins'
ports:
- "5672:5672"
- "15672:15672"
volumes:
- ./data:/var/lib/rabbitmq
- ./myplugins:/myplugins
networks:
- devopsnetwork
networks:
devopsnetwork:
external: true
```
部署机器IP:192.168.123.214
注意:插件消息发布延迟只支持到 数秒、分钟或数小时,最多一两天,注意!!! 原文: This plugin was designed for delaying message publishing for a number of seconds, minutes, or hours。 A day or two at most.
! ! ! 前面的 compose.yml 默认是将。/myplugins 挂载到容器的,并指定了多个插件目录 系统:/plugins 自己添加:/myplugins ,优化了流程,安装插件不需要复制文件和重启容器
docker exec -it rabbitmq_3_12 /bin/bash -c "rabbitmq-plugins enable rabbitmq_delayed_message_exchange"
RABBITMQ_PLUGINS_DIR: '/plugins:/myplugins'
来指定多个目录,这样只需要执行 文档
{"init terminating in do_boot",{undef,[{rabbit,boot,[],[]},{init,start_em,1,[]},{init,do_boot,3,[]}]}}
var factory = new ConnectionFactory
{
HostName = "192.168.123.214",
Port = 5672,
VirtualHost = "admin_vhost",
UserName = "root",
Password = "devops666",
};
建了一个 demo 测试使用 Demo地址 ,后续二次封装的时候再展开说怎么封装使用
安装还是比较简单的,版本选对,更多的是使用时需要根据业务选择适合的方案 插件的安装倒腾了一阵子,研究优化了流程
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有