mosquitto集群配置
--------------------------------------------------------前言-------------------------------------------------------------------
目前,官方的版本中,是没有集群功能的。官方说,可以使用bridge功能,将多个mqtt broker连接在一起。
笔者查找了网上的配置,大部分为如下配置:

图一
在主节点192.168.1.1的mosquitto.conf中,配置:
connection nodeA
address 192.168.1.5:1883
topic # both 0 connection nodeB
address 192.168.1.6:1883
topic # both 0
如上图所示,确实可以实现集群,但是有一个问题,如果主(192.1638.1.3)服务器down机,则所有的从服务器将会变成孤立的节点。
这个时候,笔者第一反应是,在添加一个主服务器,不就可以了吗,如下图所示:

图二
bridge-2与bridge的配置相同。在笔者沾沾自喜之际,同组的同事问我,是我一直在向mosquitto中写消息吗。
仔细检查配置,怎么会一直写消息呢,查看消息,是一样的。是的,死循环了。
mosquitto的桥接模式,本质上是pub/sub。
桥接配置中,在topic后有一个both/in/out的配置,是配置topic中的消息被转发的方向的,both:双向,in:进,out:出
笔者在图二中,都配置了both,则出现了死循环。如消息发送到3 , 3--->5 , 5--->4 , 4--->3 。
------------------------------------------------正文-----------------------------------------------------------------------------------------

仍然存在的问题:
(1)如果在增加bridge节点,需要修改多个节点的配置,并且重启,维护成本高。
(2)tcp长连接的负载均衡,由客户端来建立连接。客户端连接断开后,再次请求会重新建立连接,这时候,lvs将连接转发到存活节点,并建立长链接。当down机节点启动后,已经连接到其他节点的连接,不会再被负载到这台机器,只能等待重新连接,容易造成负载不均衡。
(3)keepalived的检查。keepalived在检查时,会不停的请求1883端口。
参考:
https://blog.csdn.net/Z729685731/article/details/70142182
https://stackoverflow.com/questions/26280208/cluster-forming-with-mosquitto-broker
mosquitto集群配置的更多相关文章
- Mosquitto搭建Android推送服务(三)Mosquitto集群搭建
文章钢要: 1.进行双服务器搭建 2.进行多服务器搭建 一.Mosquitto的分布式集群部署 如果需要做并发量很大的时候就需要考虑做集群处理,但是我在查找资料的时候发现并不多,所以整理了一下,搭建简 ...
- 【转载】MQTT的学习之Mosquitto集群搭建
本文出自:http://www.cnblogs.com/yinyi521/p/6087215.html 文章钢要: 1.进行双服务器搭建 2.进行多服务器搭建 一.Mosquitto的分布式集群部署 ...
- Ubuntu 14.04中Elasticsearch集群配置
Ubuntu 14.04中Elasticsearch集群配置 前言:本文可用于elasticsearch集群搭建参考.细分为elasticsearch.yml配置和系统配置 达到的目的:各台机器配置成 ...
- Redis 3.0 Cluster集群配置
Redis 3.0 Cluster集群配置 安装环境依赖 安装gcc:yum install gcc 安装zlib:yum install zib 安装ruby:yum install ruby 安装 ...
- MongoDB高可用集群配置的方案
>>高可用集群的解决方案 高可用性即HA(High Availability)指的是通过尽量缩短因日常维护操作(计划)和突发的系统崩溃(非计划)所导致的停机时间,以提高系统和应用的可用性. ...
- MySQL Cluster 7.3.5 集群配置实例(入门篇)
一.环境说明: CentOS6.3(32位) + MySQL Cluster 7.3.5,规划5台机器,资料如下: 节点分布情况: MGM:192.168.137. NDBD1:192.168.137 ...
- MySQL Cluster 7.3.5 集群配置参数优化(优化篇)
按照前面的教程:MySQL Cluster 7.3.5 集群配置实例(入门篇),可快速搭建起基础版的MySQL Cluster集群,但是在生成环境中,还是有很多问题的,即配置参数需要优化下, 当前生产 ...
- 关于ActiveMQ的几种集群配置
ActiveMQ的几种集群配置. Queue consumer clusters 此集群让多个消费者同时消费一个队列,若某个消费者出问题无法消费信息,则未消费掉的消息将被发给其他正常的消费者,结构图如 ...
- solrCloud+tomcat+zookeeper集群配置
solrcolud安装solrCloud+tomcat+zookeeper部署 转载请出自出处:http://eksliang.iteye.com/blog/2107002 http://eksli ...
随机推荐
- (一)SSO之CAS框架通俗原理
版权声明:本文为博主原创文章.转载请标明出处. https://blog.csdn.net/lovesummerforever/article/details/36068249 SSO统一验证 ...
- PSR规范0-4整理
PSR规范 psr规范 引言: PSR 是 PHP Standard Recommendations 的简写,由 PHP FIG 组织制定的 PHP 规范,是 PHP 开发的实践标准.这些规范的目的是 ...
- Mac svn使用学习-3-客户端调用服务端简单例子
既然在前一篇内容中我们已经讲svn服务器搭建好了,那么接下来我们试着试着简单使用一个该服务器 1.从本地导入代码到服务器上 userdeMBP:~ user$ svn import /Users/us ...
- MP实战系列(十八)之XML文件热加载
你还在为每次修改XML文件中的SQL重新启动服务器或者是等待几分钟而烦恼吗? 配置了热加载即可解决你的这个问题. 这就是XML文件热加载的目的,减少等待时间成本,提高开发效率. SSM框架配置(Spr ...
- WorldWind源码剖析系列:表面影像类SurfaceImage
表面影像类SurfaceImage描述星球类(如地球)表面纹理影像.该类的类图如下. 表面影像类SurfaceImage包含的主要的字段.属性和方法如下: string m_ImageFilePath ...
- C. Greedy Arkady
kk people want to split nn candies between them. Each candy should be given to exactly one of them o ...
- 3-(基础入门篇)稍微了解一下(需要知道的关于Lua的一些基本的知识)
http://www.cnblogs.com/yangfengwu/p/8948935.html 基础教程源码链接如果失效,请在淘宝介绍中下载,由于链接很容易失效,如果失效请联系卖家,谢谢 htt ...
- Android Layout属性笔记
android:id 为控件指定相应的ID android:text 指定控件当中显示的文字,需要注意的是,这里尽量使用strings.xml文件当中的字符串 android:gravity 指定Vi ...
- HDU - 4118 Holiday's Accommodation
Problem Description Nowadays, people have many ways to save money on accommodation when they are on ...
- 详细解读大数据分析引擎Pig&PigLatin语句
Pig 一.Pig的介绍: Pig由Yahoo开发,主要应用于数据分析,Twitter公司大量使用Pig处理海量数据,Pig之所以是数据分析引擎,是因为Pig相当于一个翻译器,将PigLatin语句翻 ...