RabbitMQ 3811 集群搭建(docker-co

RabbitMQ 3.8.11 集群搭建 虚拟机方式,很繁琐。
可以将其进行docker化。

  1. 创建docker-compose.yml 文件

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
yml复制代码version: '3'
services:
rabbitmq1:
image: rabbitmq:3.8.11-management
container_name: rabbitmq1
restart: always
hostname: rabbitmq1
ports:
- 15683:15672
- 5683:5672
volumes:
- ./data1:/var/lib/rabbitmq
- ./rabbitmq.sh:/home/rabbitmq.sh
- ./etc/hosts:/etc/hosts
- ./etc/rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=root
- STOMP_DEFAULT_USER=root
- STOMP_DEFAULT_PASS=root
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
networks:
rabbit:
ipv4_address: 192.168.1.127

rabbitmq2:
image: rabbitmq:3.8.11-management
container_name: rabbitmq2
restart: always
hostname: rabbitmq2
ports:
- 15684:15672
- 5684:5672
volumes:
- ./data2:/var/lib/rabbitmq
- ./rabbitmq.sh:/home/rabbitmq.sh
- ./etc/hosts:/etc/hosts
- ./etc/rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=root
- STOMP_DEFAULT_USER=root
- STOMP_DEFAULT_PASS=root
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
networks:
rabbit:
ipv4_address: 192.168.1.128

rabbitmq3:
image: rabbitmq:3.8.11-management
container_name: rabbitmq3
restart: always
hostname: rabbitmq3
ports:
- 15692:15672
- 5692:5672
volumes:
- ./data3:/var/lib/rabbitmq
- ./rabbitmq.sh:/home/rabbitmq.sh
- ./etc/hosts:/etc/hosts
- ./etc/rabbitmq/enabled_plugins:/etc/rabbitmq/enabled_plugins
environment:
- RABBITMQ_DEFAULT_USER=root
- RABBITMQ_DEFAULT_PASS=root
- STOMP_DEFAULT_USER=root
- STOMP_DEFAULT_PASS=root
- RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION
networks:
rabbit:
ipv4_address: 192.168.1.129

networks:
rabbit:
external:
name: rabbitmqnet
  1. 启动使用插件(rabbitmq_stomp)

./etc/rabbitmq/enabled_plugins

1
csharp复制代码[rabbitmq_management,rabbitmq_prometheus,rabbitmq_stomp].
  1. 创建rabbitmq.sh

1
2
3
4
sh复制代码rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster rabbitmq@rabbitmq1
rabbitmqctl start_app
  1. 创建主机列表

./etc/hosts

1
2
3
复制代码192.168.1.127 rabbitmq1
192.168.1.128 rabbitmq2
192.168.1.129 rabbitmq3
  1. 创建依赖网络

1
cmd复制代码# docker network create --subnet 192.168.1.1/24 rabbitmqnet
  1. 开启rabbitMQ集群

1
cmd复制代码# docker-compose up -d
  1. 打开监控平台

image.png

QA 问题总结

Q1. 解决 RabbitMQ 集群 Channel shutdown: connection error 错误(HAProxy 负载均衡)

A1. HAProxy 配置的timeout client超时时间,OS的tcp_keepalive_time(系统tcp_keepalive_time发送TCP keepalive数据包间隔时间是 2 个小时)

本文转载自: 掘金

开发者博客 – 和开发相关的 这里全都有

0%