RabbitMQ的镜像模式
RabbitMQ的集群 |
---|
![]() |
|
高可用
提升RabbitMQ的效率
搭建RabbitMQ集群
-
准备两台虚拟机(克隆)
-
准备RabbitMQ的yml文件
1、镜像中-management代表直接开启图形化界面,alpine表示最小安装,一般在正式环境中使用
2、RABBITMQ_ERLANG_COOKIE 相当于集群中的匹配码
3、集群中通信还要开通4369、25672端口
4、hostname 设置微服务的主机名称,与下方的extra_hosts 配合使用
rabbitmq1:
version: '3.1'
services:
rabbitmq1:
image: rabbitmq:3.8.5-management-alpine
container_name: rabbitmq1
hostname: rabbitmq1
extra_hosts:
- "rabbitmq1:192.168.11.32"
- "rabbitmq2:192.168.11.33"
environment:
- RABBITMQ_ERLANG_COOKIE=SDJHFGDFFS
ports:
- 5672:5672
- 15672:15672
- 4369:4369
- 25672:25672
rabbitmq2:
version: '3.1'
services:
rabbitmq2:
image: rabbitmq:3.8.5-management-alpine
container_name: rabbitmq2
hostname: rabbitmq2
extra_hosts:
- "rabbitmq1:192.168.11.32"
- "rabbitmq2:192.168.11.33"
environment:
- RABBITMQ_ERLANG_COOKIE=SDJHFGDFFS
ports:
- 5672:5672
- 15672:15672
- 4369:4369
- 25672:25672
准备完毕之后,启动两台RabbitMQ
启动效果 |
---|
![]() |
-
让RabbitMQ服务实现join操作
需要四个命令完成join操作
让rabbitmq2 join rabbitmq1,需要进入到rabbitmq2的容器内部,去执行下述命令
rabbitmqctl stop_app rabbitmqctl reset rabbitmqctl join_cluster rabbit@rabbitmq1 rabbitmqctl start_app
执行成功后:
执行成功后
|
-
设置镜像模式
在指定的RabbitMQ服务中设置好镜像策略即可
镜像模式
|