Repository navigation
Expand file tree
/
Copy pathdocker-compose-rocketmq.yaml
More file actions
244 lines (225 loc) · 18.4 KB
/
Copy pathdocker-compose-rocketmq.yaml
File metadata and controls
244 lines (225 loc) · 18.4 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
version: '3.8'
services:
# RocketMQ Nameserver (Service Discovery)
nameserver:
image: apache/rocketmq:5.5.0
platform: linux/amd64
container_name: rocketmq-nameserver
ports:
- "9876:9876" # Nameserver port
command: sh mqnamesrv
healthcheck: # Health check to ensure Nameserver is ready
test: [ "CMD", "bash", "-c", "echo > /dev/tcp/localhost/9876" ]
interval: 5s
timeout: 10s
retries: 10
environment:
- JAVA_OPT_EXT=-Xms64m -Xmx64m -Xmn32m -XX:MaxDirectMemorySize=64m -XX:MaxMetaspaceSize=96m
# RocketMQ Broker (Message Storage)
broker:
image: apache/rocketmq:5.5.0
platform: linux/amd64
container_name: rocketmq-broker
ports:
- "10909:10909" # Broker HA port
- "10911:10911" # Broker port
- "10912:10912" # Broker TLS port (optional)
environment:
- NAMESRV_ADDR=nameserver:9876 # Connect to nameserver
- BROKER_CLUSTER_NAME=DefaultCluster
- BROKER_NAME=broker-a
- BROKER_ID=0
- AUTO_CREATE_TOPIC_ENABLE=true # Auto-create topics
# Broker 2g + proxy 1g asks roughly 3.5 GB of a dev machine; turn these down if that is too
# much locally.
- JAVA_OPT_EXT=-Xms2g -Xmx2g -Xmn512m -XX:MaxDirectMemorySize=1g -XX:MaxMetaspaceSize=256m
command: sh mqbroker
depends_on:
nameserver:
condition: service_healthy
healthcheck:
test: [ "CMD", "bash", "-c", "echo > /dev/tcp/localhost/10911" ]
interval: 5s
timeout: 10s
retries: 10
proxy:
image: apache/rocketmq:5.5.0
platform: linux/amd64
container_name: rmqproxy
depends_on:
broker:
condition: service_healthy
nameserver:
condition: service_healthy
# The broker's healthcheck only proves its port is listening, not that it has registered with
# the nameserver yet (that takes longer). The proxy crashes if it starts before registration
# ("create system broadcast topic … failed") and otherwise has no way to come back - restarting
# lets it come up again once the broker has registered, which it reliably has within a few
# retries.
restart: on-failure:5
ports:
- "8081:8081" # HTTP endpoint (for REST API)
- "9877:9877" # gRPC endpoint (for clients)
environment:
- NAMESRV_ADDR=nameserver:9876
- JAVA_OPT_EXT=-Xms1g -Xmx1g -Xmn256m -XX:MaxDirectMemorySize=512m -XX:MaxMetaspaceSize=256m
command: sh mqproxy
healthcheck:
test: [ "CMD", "bash", "-c", "echo > /dev/tcp/localhost/8081" ]
interval: 5s
timeout: 10s
retries: 10
# Service to create the RocketMQ topic
create-topic:
image: apache/rocketmq:5.5.0 # Use the same RocketMQ image to get mqadmin tool
platform: linux/amd64
command: > # Multi-line command to create the topic
bash -c "
echo 'Waiting for broker to be healthy...' &&
until echo > /dev/tcp/broker/10911 2>/dev/null; do
echo 'Broker not fully ready yet, retrying in 5 seconds...'
sleep 5
done;
MQADMIN=$$(ls -d /home/rocketmq/rocketmq-*/bin/mqadmin | head -1) &&
echo 'Waiting for the broker to register with the nameserver...' &&
until $$MQADMIN clusterList -n nameserver:9876 2>/dev/null | grep -q '^DefaultCluster'; do
sleep 5
done;
echo 'Broker is up. Creating multiple topics...' &&
$$MQADMIN updateTopic -n nameserver:9876 -t bt_building_dispatch -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t bt_building_dispatch_async -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t bt_named_gateway_dispatch -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t bt_mc_cloudevents -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t bt_mc_cloudevents_async -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_dlq_source -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_dlq_target -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_dlq_invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t orders -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t orders-dlq -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t orders-invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
echo 'Creating generated test topics...' &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_post_msg -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_multi_msg -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_multi_thread -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_activity -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_requeue -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_dlq -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_dlq_target -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_requeue_delay -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_delayed_msg -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_partition_key -c DefaultCluster -r 1 -w 1 -a +message.type=FIFO &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_post_msg -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_multi_msg -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_multi_thread -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_activity -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_requeue -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_dlq -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_dlq_target -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_requeue_delay -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_delayed_msg -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_partition_key -c DefaultCluster -r 1 -w 1 -a +message.type=FIFO &&
echo 'Creating conformance requeue-exhaustion topics (FR-23)...' &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_exhaust -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_exhaust_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_exhaust_Invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_exhaust -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_exhaust_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_exhaust_Invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
echo 'Creating generated delay / requeue / nack / reject topics...' &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_send_delayed_msg -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rq_redeliver -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rq_again -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rq_delay_again -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rq_zero -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rq_after -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_nack -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_nack2 -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_de -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_de_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_meta -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_meta_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_noch -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_fb -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_fb_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_inv -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_inv_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_inv_Invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_unk -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_unk_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_r_rej_unk_Invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_send_delayed_msg -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rq_redeliver -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rq_again -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rq_delay_again -c DefaultCluster -r 1 -w 1 -a +message.type=DELAY &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rq_zero -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rq_after -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_nack -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_nack2 -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_de -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_de_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_meta -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_meta_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_noch -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_fb -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_fb_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_inv -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_inv_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_inv_Invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_unk -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_unk_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t gen_p_rej_unk_Invalid -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
echo 'Creating measurement topics...' &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_measure_delivery_attempt -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
echo 'Creating hand-written test topics...' &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_rej_none_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_rej_none_r_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_rej_none_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_rej_none_p_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_stale_hc_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_stale_hc_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_m1_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_m1_r_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_m1_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_m1_p_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_first_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_first_r_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_first_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_budget_first_p_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_delivery_count_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_delivery_count_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_lease_lapse_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_lease_lapse_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_dlq_count_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_dlq_count_r_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_dlq_count_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_dlq_count_p_DLQ -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_requeue_beyond_lease_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_requeue_beyond_lease_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_nack_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_nack_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_requeue_over_max_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_requeue_over_max_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_requeue_negative_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_requeue_negative_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_broker_call_fails_r -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
$$MQADMIN updateTopic -n nameserver:9876 -t rmq_broker_call_fails_p -c DefaultCluster -r 1 -w 1 -a +message.type=NORMAL &&
echo 'done'
"
depends_on: # Ensure broker is healthy before attempting topic creation
broker:
condition: service_healthy
nameserver:
condition: service_healthy
restart: "no" # This service should run once and then exit
# RocketMQ Dashboard (Web UI - Optional)
dashboard:
image: apacherocketmq/rocketmq-dashboard
# platform: linux/amd64
container_name: rocketmq-dashboard
ports:
- "8082:8082" # Dashboard UI port
environment:
- NAMESRV_ADDR=nameserver:9876 # Connect to nameserver
depends_on:
- nameserver
- broker