百度正式开源 BifroMQ:高性能多租户 MQTT 消息中间件

百度天工AIoT物联网平台在“IDC MarketScape 中国物联网云平台厂商评估,2022”中居领导者位置。其关键能力物联网核心套件,在过去几年中已经广泛服务于数千家企业和大量开发者。无论是在智能家居、车联网、工业还是在智慧城市领域,亿级设备通过物联网核心套件 实现物联,海量、高频、大容量的消息吞吐每时每刻都在发生。

天工AIoT平台之所以能够长时间稳定地服务如此巨大的设备和业务规模,很大程度上归功于其底层的MQTT消息中间件。此消息中间件的独立性及可横向扩展的设计使它能够高效处理MQTT的关键负载,包括连接负载和消息负载。经过百度智能云物联网团队多年的技术积累和沉淀,此中间件已经完整支持了MQTT 3.1/3.1.1,包括通过TCP、TLS、WS、WSS等方式使用MQTT,并且还原生集成了多租户支持。

今天,为了加速物联网产业的创新和卓越发展,百度正式宣布该高性能分布式MQTT消息中间件的开源化,并将其命名为BifroMQ。

BifroMQ名称寓意

BifroMQ 的名称灵感来自于北欧神话中的Bifröst-一座彩虹之桥,连接着人类世界 Midgard 和神祇居住的世界 Asgard,是两个世界间坚实而灵活的通道。BifroMQ 同样旨在成为连接各种系统或应用的枢纽,通过消息传递实现它们之间的交流。这与 MQTT 中间件在分布式系统中扮演的角色,即处理和转发消息,极为相似。

此外,BifroMQ 在稳定性和可靠性方面的卓越表现及其在可扩展性和适应性上的优势,都与Bifröst的坚固性和灵活性有着极大的共通之处。因此,我们将MQTT 中间件取名为“BifroMQ”,意寓其作为连接不同系统或应用的桥梁,坚固而灵活。

BifroMQ技术架构及性能

BifroMQ 是一款以Serverless为理念的 MQTT Broker 开源实现。它的设计理念是“共享资源,独享体验”,重点解决多租户环境下的MQTT工作负载隔离和供需均衡。它采用了负载独立子集群设计,可以高效处理连接会话、消息转发和消息存储等工作负载。各子集群具备高可用性,支持横向扩展,并能灵活应对多租户场景。为克服路由表规模可能超过单机内存的问题,我们采用创新设计使路由表存储可扩展至多台机器。同时,BifroMQ内置了优化的分布式存储引擎,无需依赖第三方存储中间件,保证了性能稳定。

此外,BifroMQ支持单机模式Standalone、标准集群Standard Cluster、独立工作负载集群Independent Workload Cluster三种部署模式,并允许通过插件进行定制,以满足不同业务需求。

在性能方面,BifroMQ 经过严格的测试,展现出强大的处理能力和低时延。在一个标准的测试环境中,处理大量并发消息发布时,BifroMQ 保持了极低的消息时延及较低的 CPU 使用率。同时,与同类开源 MQTT 消息中间件相比,BifroMQ 在时延和性能稳定性方面表现出色。

BifroMQ适用场景

BifroMQ 可以广泛应用于各种物联网场景,包括但不限于智能家居、工业物联网、车联网和智能城市等多种领域。它能够为这些应用提供可靠、高性能的消息传输服务,支撑大规模设备连接和消息处理。例如,在智能家居领域,通过 BifroMQ,可以接入数千万家居设备,并可以实现远程控制、状态同步和数据上报等功能;在工业物联网领域,它可以支持大量传感器和设备进行实时数据收集和处理;对于车联网,BifroMQ 可以处理车辆之间以及车辆与基础设施之间的通信;在智慧城市应用中,它能够协助管理和优化城市资源,如交通、能源和安全等。

未来展望

作为百度的重点开源项目之一,我们将会投入更多的资源支持BifroMQ的开发,以满足更多的业务需求。未来,BifroMQ 将继续完善对 MQTT 5 的支持,加强性能优化,丰富功能,并不断拓展在物联网领域的应用。同时,我们将继续秉持技术中立理念,进一步强化 BifroMQ 的「被集成」能力,使其能够更加轻松地与各种系统和应用协同工作。此外,BifroMQ 未来将会与更多的开源项目和标准化组织合作,共同推动物联网技术的发展,为全球物联网产业的升级迭代贡献力量。

最后,作为一个开源项目,BifroMQ 非常欢迎各位开发者和企业深度参与项目开发和改进。

为此,我们在BifroMQ官网(https://bifromq.io/)和GitHub社区平台(https://github.com/baidu/bifromq),为开发者提供了丰富的文档、教程、问题解答和代码贡献等资源。

同时,大家也可通过扫描下方二维码加入开发者交流社群,与广大同行交流学习。

猜你喜欢

转载自www.oschina.net/news/249413