1.前言
MQTT是IBM为物联网等环境定义的一套应用层即时通信协议,通过消息中间件,提供订阅/发布方式通过"主题"为不同设备之间的通信提供解耦。
通常称消息中间件为broker,支持MQTT的broker,基于C语言的Mosquitto,基于Erlang的EMQ、RabbitMQ+插件,基于Java的ActiveMQ,甚至基于Node.js的Mosca。
目前,官方的版本中,mosquitto是没有集群功能的。官方说,可以使用bridge功能,将多个mqtt broker连接在一起。
桥接以后的效果是,无论哪台服务器中订阅的信息,无论在哪台服务器上发布了消息,订阅者都可以收到发布的信息。
2.多节点集群
操作系统:windows
假设3台服务器分别是:192.168.1.10(主服务器);192.168.1.12(从);192.168.1.14(从);
找到做为主服务器的mosquitto的安装目录:C:\Program Files\mosquitto,并打开配置文件mosquitto.conf:
connection 连接名,可以随意取;
address 从服务器的IP和端口号;
topic # 表示所有主题消息都将被传递;
both/in/out是指允许的消息方向。both