Docker:搭建RabbitMQ集群

RabbitMQ原理介绍(一)

RabbitMQ安装使用(二)

RabbitMQ添加新用户并支持远程访问(三)

RabbitMQ管理命令rabbitmqctl详解(四)

RabbitMQ两种集群模式配置管理(五)

RabbitMQ应用实例Python版-Hello World

RabbitMQ应用实例Python版-工作队列

RabbitMQ应用实例Python版-消息确认和消息持久化

RabbitMQ应用实例Python版-发布/订阅

RabbitMQ应用实例Python版-路由

Docker搭建RabbitMQ(单机版)

采用bijukunjummen提供的镜像。

 
1
.git

启动集群,别忘记安装docker daemon和docker-compose

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
cluster
d
.
server
complete
complete
complete
complete
complete
complete
complete
complete
complete
complete
complete
complete
complete
complete
a6bbb268de87d09d538152450b77835a27693039ab079785a7b72f595bef18a6
latest
cluster_rabbit1_1
cluster_rabbit2_1
cluster_rabbit3_1

默认启动了三个节点

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
:
server
rabbit1
:
 
:
server
rabbit2
:
rabbit1
:
true
rabbit1
true
:
 
:
server
rabbit3
:
rabbit1
rabbit2
:
true
rabbit1
:

查看容器

 
1
2
3
4
5
ps
NAMES
cluster_rabbit3_1
cluster_rabbit2_1
daomonit

访问
http://192.168.99.100:15672,弹出登陆界面。输入guest/guest

Docker:搭建RabbitMQ集群

然后就可以添加用户了。

Docker搭建RabbitMQ集群(多机版)

上面我们使用Docker搭建出了一个RabbitMQ单机集群,这种模式只能用来测试玩玩,无法再生产环境中使用。在生产环境中,需要把3个节点的集群分布到各个主机上面去。这个时候docker-compose就需要做调整了,主要是对外端口和link方式,首先我们说一下RabbitMQ开启后的对外端口。

SELinux和类似机制或许会通过绑定端口的方式阻止RabbitMQ。当这种情况发生时,RabbitMQ会启动失败。请确认以下的端口是可以被打开的:

4369 (epmd)

25672 (Erlang distribution)

5672, 5671 (启用了或者未启用TLS的AMQP 0-9-1)

15672 (如果管理插件被启用)

61613, 61614 (如果STOMP被启用)

1883, 8883 (如果MQTT被启用)

说完端口,下面提供一个三节点的docker-compose文件。

rabbit1(10.106.136.7)

 
1
2
3
4
5
6
7
8
9
10
11
12
:
server
rabbit1
:
:
myuser
mypass

rabbit2(10.106.136.8)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
:
server
rabbit2
:
:
true
rabbit1
true
:

rabbit3(10.106.136.9)

 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
:
server
rabbit3
:
:
true
rabbit1
true
:

然后依序在三个节点上分别开启rabbitmq,然后随意找个节点打开IP:25672,输入guest用户名和guest密码就可以查看集群了。