开源 MQTT 中间件 – BifroMQ 技术架构概览

1,059次阅读
没有评论

在当今的物联网领域,MQTT协议已经成为不可或缺的关键要素,为高效、实时的数据传递提供了核心技术支持。然而,目前市场上提供MQTT能力的项目主要集中在传统的、现有的”开箱即用”物联网设备管理平台上,导致更底层的MQTT协议实现缺乏足够的关注和探索。然而,我们深信MQTT协议的特性有着更广泛的应用前景,不仅仅局限于物联网领域。正是出于这一信念,经过多年的实践和技术积累我们推出了开源项目BifroMQ,专注于MQTT协议的高效处理,尤其是在面对大规模负载时的卓越表现。

中立性和可扩展性兼具的MQTT协议中间件

相较于传统的物联网设备管理平台,BifroMQ在设计上秉承与众不同的理念。我们大胆地抛弃了”一揽子解决方案”的传统范式,将注意力集中在高性能MQTT协议的需求上。我们坚信MQTT的协议特性具有更广泛的应用范式,因此BifroMQ致力于充分发挥MQTT协议的潜力,尤其是在处理大规模负载时的卓越性能。

相较于在MQTT实现中内置与下游系统的集成逻辑(如:Kafka),BifroMQ更倾向于通过符合MQTT标准的方式与下游系统”对接”。例如,通过共享订阅(Shared Subscription)机制,将集成逻辑外置,实现更加解耦的桥接和向异构系统转发消息的能力,同时保持高消息吞吐率。这种设计理念使得BifroMQ成为一个高度可定制的中间件,能够轻松适应各类下游系统,满足不同业务场景的需求。

▌构建大规模多租户的Serverless云服务

BifroMQ的使命在于构建适用于大规模多租户的MQTT消息系统,以支持开展Serverless类型云服务的业务特性。这一使命是基于对MQTT协议特性的深刻理解和对其更广泛应用的信心所驱动的。与传统的企业级架构不同,Serverless云服务强调资源按需分配、弹性扩展及高度灵活的服务构建。正因如此,BifroMQ通过其多租户架构和资源共享机制,为Serverless类型的业务提供了”共享资源、独享体验”的特性。

▌企业级部署:灵活性与稳健性兼备

虽然BifroMQ的目标是构建多租户的Serverless云服务,但多租户+共享资源本质上是单租户独享资源的抽象。与我们的理念一致,通过核心组件的自由组合和配置,BifroMQ轻松支持常见的”Shared Nothing”企业级集群部署。实际上,这也是BifroMQ开源版本的默认部署模式。这种灵活性使得BifroMQ能够适应各种规模和需求的系统架构。

 

▌BifroMQ的架构解析

BifroMQ的架构设计基于”第一性原理”,从技术角度分析实现设计目标所需的技术以及如何将这些技术”有机”地组合起来,以达到整体优化的效果。因此,仅从项目结构和代码逻辑很难全面地理解其内涵。下面将从三个主要角度对BifroMQ的整体架构进行高层次的描述。

基于去中心化集群管理的模块化架构

首先,抛开MQTT协议本身的实现逻辑,BifroMQ的各个功能服务模块构建在一套去中心化的底层集群构建能力(base-cluster)之上,如下图所示:

开源 MQTT 中间件 - BifroMQ 技术架构概览

▲  BifroMQ 去中心化集群的模块化架构

base-cluster构建的集群逻辑上分为两层:Underlay Cluster和Overlay Cluster。Underlay Cluster被称为”Host” Cluster,每个Host在BifroMQ中对应着运行在操作系统上的一个服务进程(Process)。Host Cluster采用Gossip类的协议(SWIM Protocol)实现了Host成员服务(Membership),并为Overlay Cluster提供了Host地址的抽象。Overlay Cluster被称为”Agent” Cluster,它在Host地址的基础上提供了Agent级别的地址抽象(Agent Address)。在BifroMQ中,Agent对应着实现具体功能的逻辑服务(Service)。这些逻辑服务(通过base-rpc框架统一实现)包括了客户端和服务端两种角色的模块,利用Agent Cluster的能力来实现服务的注册和发现。

这种架构带来的好处包括:

1.逻辑服务与服务所在进程解耦,使得根据部署场景可以更加灵活地封装和组合。

2.逻辑服务的”服务发现”不依赖传统意义上的注册中心或名字服务,从而消除了单点故障的运维风险,使得集群规模能够自由伸缩。

模块化的负载隔离与协作

接下来,我们从协议实现的角度描述BifroMQ的结构。在从构建Serverless云服务的角度出发进行架构设计时,需要从负载隔离和管理的角度考虑功能实现的合理性,也就是负载的多租户化。我们将MQTT协议的工作负载进行了拆分,使得每种负载都能以独立子集群的形式存在,而这些子集群通过协作构建了完整的MQTT能力。下面是BifroMQ中MQTT负载相关的模块:

  bifromq-mqtt:负责处理MQTT协议的长连接负载

  bifromq-dist:负责维护MQTT订阅状态的高可靠存取和大规模消息路由

●  bifromq-inbox:负责CleanSession=false模式下订阅方会话消息的高可靠存取

  bifromq-retain:负责Retain消息的高可靠存取

这些模块之间的协作关系如下图所示:

开源 MQTT 中间件 - BifroMQ 技术架构概览

▲  BifroMQ 各模块协作关系1

开源 MQTT 中间件 - BifroMQ 技术架构概览

▲  BifroMQ 各模块协作关系2

值得一提的是,bifromq-dist、bifromq-inbox和bifromq-retain模块都充分利用了base-kv的能力,实现了对关键负载的分布式强一致性持久化。在Serverless云服务的运维场景中,这点对保证SLA尤为重要。

中立性:面向标准与可扩展的集成

前文提到,BifroMQ的定位是实现MQTT标准的中间件,更加强调中立性和被集成性。与其他包含MQTT能力的”一揽子物联网平台”项目并不处于同一层上。因此,判断”BifroMQ是否具备某种功能或未来是否会支持某种功能?”的标准非常简单:凡是MQTT协议定义的能力都属于bifromq项目需要支持的范畴,而一切超出MQTT协议定义的功能,我们更倾向于以独立组件或服务的方式存在,并通过符合MQTT标准的方式与BifroMQ集成。这种方法有助于构建更大规模的云服务并促进相关技术的成熟。当然,BifroMQ的被集成性还体现在作为中间件本身与各种业务系统的集成上,主要包括三种机制:Plugin、API和Metrics:

开源 MQTT 中间件 - BifroMQ 技术架构概览

▲  典型场景集成架构

 

  • Plugin机制是实现业务逻辑集成的主要方式。bifromq目前定义了以下plugin接口模块:
    • bifromq-plugin-auth-provider:实现客户端认证和基于消息主题的Pub/Sub鉴权逻
    • bifromq-plugin-event-collector:实现由各类MQTT相关事件触发的业务逻辑
    • bifromq-plugin-setting-provider:实现租户级运行时设置变更管理逻辑
  • 这些接口的参考实现可以在BifroMQ-Inside项目中找到。
  • API机制(即将推出)提供了BifroMQ的运行时HTTP管理接口,实现服务端订阅管理和断开连接等基本管理操作。
  • Metrics机制通过使用micrometer库实现了指标的定义和采样,但没有限定收集端的类型,从而使业务集成方能够自定义(可以参考项目中的build-plugin-demo模块)。

 

总结

综上是对BifroMQ技术架构的整体介绍。请期待我们将在接下来发布的一系列专题文章中,深入探讨BifroMQ的各个组件和设计原则。

最后,为了帮助大家更好地了解BifroMQ的技术架构,我们将于9月21日(周四)举办一场BifroMQ线上直播公开课,欢迎各位关注上述BifroMQ开发者交流群内信息,提前锁定直播地址,与广大同行交流学习!

 

Read More 

正文完
可以使用微信扫码关注公众号(ID:xzluomor)
post-qrcode
 0
评论(没有评论)

文心AIGC

2023 年 9 月
 123
45678910
11121314151617
18192021222324
252627282930  
文心AIGC
文心AIGC
人工智能ChatGPT,AIGC指利用人工智能技术来生成内容,其中包括文字、语音、代码、图像、视频、机器人动作等等。被认为是继PGC、UGC之后的新型内容创作方式。AIGC作为元宇宙的新方向,近几年迭代速度呈现指数级爆发,谷歌、Meta、百度等平台型巨头持续布局
文章搜索
热门文章
潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026

潞晨尤洋:日常办公没必要上私有模型,这三类企业才需要 | MEET2026 Jay 2025-12-22 09...
面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25

面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25

面向「空天具身智能」,北航团队提出星座规划新基准丨NeurIPS’25 鹭羽 2025-12-13 22:37...
钉钉又发新版本!把 AI 搬进每一次对话和会议

钉钉又发新版本!把 AI 搬进每一次对话和会议

钉钉又发新版本!把 AI 搬进每一次对话和会议 梦晨 2025-12-11 15:33:51 来源:量子位 A...
5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级 思邈 2025-12-10 14:28:37 来源:量子位 让更大规...
商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1

商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1

商汤Seko2.0重磅发布,合作短剧登顶抖音AI短剧榜No.1 十三 2025-12-15 14:13:14 ...
最新评论
ufabet ufabet มีเกมให้เลือกเล่นมากมาย: เกมเดิมพันหลากหลาย ครบทุกค่ายดัง
tornado crypto mixer tornado crypto mixer Discover the power of privacy with TornadoCash! Learn how this decentralized mixer ensures your transactions remain confidential.
ดูบอลสด ดูบอลสด Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Pretty! This has been a really wonderful post. Many thanks for providing these details.
ดูบอลสด ดูบอลสด Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
Obrazy Sztuka Nowoczesna Obrazy Sztuka Nowoczesna Thank you for this wonderful contribution to the topic. Your ability to explain complex ideas simply is admirable.
ufabet ufabet Hi there to all, for the reason that I am genuinely keen of reading this website’s post to be updated on a regular basis. It carries pleasant stuff.
ufabet ufabet You’re so awesome! I don’t believe I have read a single thing like that before. So great to find someone with some original thoughts on this topic. Really.. thank you for starting this up. This website is something that is needed on the internet, someone with a little originality!
ufabet ufabet Very well presented. Every quote was awesome and thanks for sharing the content. Keep sharing and keep motivating others.
热评文章
读懂2025中国AI走向!公司×产品×人物×方案,最值得关注的都在这里了

读懂2025中国AI走向!公司×产品×人物×方案,最值得关注的都在这里了

读懂2025中国AI走向!公司×产品×人物×方案,最值得关注的都在这里了 衡宇 2025-12-10 12:3...
5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级

5天连更5次,可灵AI年末“狂飙式”升级 思邈 2025-12-10 14:28:37 来源:量子位 让更大规...
戴尔 x OpenCSG,推出⾯向智能初创企业的⼀体化 IT 基础架构解决方案

戴尔 x OpenCSG,推出⾯向智能初创企业的⼀体化 IT 基础架构解决方案

戴尔 x OpenCSG,推出⾯向智能初创企业的⼀体化 IT 基础架构解决方案 十三 2025-12-10 1...
九章云极独揽量子位三项大奖:以“一度算力”重构AI基础设施云格局

九章云极独揽量子位三项大奖:以“一度算力”重构AI基础设施云格局

九章云极独揽量子位三项大奖:以“一度算力”重构AI基础设施云格局 量子位的朋友们 2025-12-10 18:...
乐奇Rokid这一年,一路狂飙不回头

乐奇Rokid这一年,一路狂飙不回头

乐奇Rokid这一年,一路狂飙不回头 梦瑶 2025-12-10 20:41:15 来源:量子位 梦瑶 发自 ...