vernemq 是一款開源的mqtt broker, 支持cluster 模式部署,而且部署比較簡單
以下是一個使用docker-compose 搭建環境的demo
環境准備
- docker-compose 文件
version: "3"
services:
init:
image: erlio/docker-vernemq
environment:
- "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
ports:
- "1883:1883"
- "8080:8080"
- "8888:8888"
networks:
app_net:
ipv4_address: 172.16.238.10
first:
image: erlio/docker-vernemq
environment:
- "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
- "DOCKER_VERNEMQ_DISCOVERY_NODE=172.16.238.10"
networks:
app_net:
ipv4_address: 172.16.238.11
second:
image: erlio/docker-vernemq
environment:
- "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
- "DOCKER_VERNEMQ_DISCOVERY_NODE=172.16.238.10"
networks:
app_net:
ipv4_address: 172.16.238.12
third:
image: erlio/docker-vernemq
environment:
- "DOCKER_VERNEMQ_ALLOW_ANONYMOUS=on"
- "DOCKER_VERNEMQ_DISCOVERY_NODE=172.16.238.10"
networks:
app_net:
ipv4_address: 172.16.238.13
networks:
app_net:
driver: bridge
ipam:
driver: default
config:
-
subnet: 172.16.238.0/24
- 說明
為了簡單,使用了固定的ip,因為集群的節點發現需要使用ip 地址
啟動&&測試
- 啟動
docker-compose up -d
- 測試
登陸節點使用vmq-admin 工具查看集群信息就可以了
比如:進入容器 docker exec -it vermq-clutser-project_first_1 sh
vmq-admin cluster show
+---------------------+-------+
| Node |Running|
+---------------------+-------+
|VerneMQ@172.16.238.10| true |
|VerneMQ@172.16.238.11| true |
|VerneMQ@172.16.238.12| true |
|VerneMQ@172.16.238.13| true |
說明
這個只是簡單的環境搭建,vernemq 的功能還是很強大的,還需要 在仔細研究
參考資料
https://github.com/rongfengliang/vernemq-clutser-docker-compose
https://docs.vernemq.com/installing-vernemq/docker