当前位置: X-MOL 学术IEEE Trans. Netw. Serv. Manag. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
Sub-linear Scalability of MQTT Clusters in Topic-based Publish-subscribe Applications
IEEE Transactions on Network and Service Management ( IF 5.3 ) Pub Date : 2020-09-01 , DOI: 10.1109/tnsm.2020.3003535
Andrea Detti , Ludovico Funari , Nicola Blefari-Melazzi

Message Queuing Telemetry Transport (MQTT) is a widespread protocol for topic-based publish-subscribe architectures supporting IoT and social networks applications. MQTT brokers are logical entities that couple publishers and subscribers and play a critical role in such architectures. MQTT brokers can be implemented either as standalone servers or in a cluster configuration. Clusters of brokers increase reliability, availability and overall performance, since operations can be highly parallelized among the brokers that form the cluster. The load-balancing strategy in a cluster usually consists in connecting an incoming client to a randomly selected broker. This random-attach strategy, it is very simple, but generates a significant amount of inter-broker traffic, as we demonstrate through theoretical and experimental evaluations. Inter-broker traffic is an overhead for the system and it increases the CPU load of the brokers, compromising the scaling behavior of the whole cluster. Indeed, we found that a linear increase of the number of brokers forming a cluster does not necessarily provide an equivalent linear gain in performance, and such a scaling penalty can be surprisingly significant, in the order of 40%. To solve this issue and improve performance, we propose a novel load-balancing strategy that envisages the use of multiple MQTT sessions per client to reduce inter-broker traffic and that can be implemented by means of a greedy algorithm. We show feasibility and effectiveness of our strategy for IoT and social-network applications by means of simulations and real measurements. The resulting scaling penalty is reduced to 10%.

中文翻译:

基于主题的发布订阅应用程序中 MQTT 集群的亚线性可扩展性

消息队列遥测传输 (MQTT) 是基于主题的发布订阅架构的广泛协议,支持物联网和社交网络应用程序。MQTT 代理是连接发布者和订阅者的逻辑实体,并在此类架构中发挥关键作用。MQTT 代理可以作为独立服务器或在集群配置中实现。代理集群提高了可靠性、可用性和整体性能,因为操作可以在形成集群的代理之间高度并行化。集群中的负载平衡策略通常包括将传入客户端连接到随机选择的代理。这种随机附加策略非常简单,但会产生大量的代理间流量,正如我们通过理论和实验评估所证明的那样。代理间流量是系统的开销,它增加了代理的 CPU 负载,损害了整个集群的扩展行为。事实上,我们发现形成集群的代理数量的线性增加并不一定会提供等效的性能线性增益,而且这种扩展惩罚可能非常显着,大约为 40%。为了解决这个问题并提高性能,我们提出了一种新颖的负载平衡策略,该策略设想每个客户端使用多个 MQTT 会话来减少代理间流量,并且可以通过贪婪算法来实现。我们通过模拟和实际测量展示了我们的物联网和社交网络应用策略的可行性和有效性。由此产生的缩放惩罚减少到 10%。
更新日期:2020-09-01
down
wechat
bug