百度开源高性能 MQTT Broker 消息中间件:BifroMQ

百度今日正式开源 BifroMQ,这是一个基于 Java 实现的高性能、分布式 MQTT Broker 消息中间件,采用 Serverless 架构,无缝集成了原生的多租户支持。它旨在支持构建大规模的物联网设备连接和消息系统。

据介绍,BifroMQ 源自百度物联网团队多年技术积累。目前,它被用作百度智能云物联网核心套件 IoT Core 的基础技术,这是一个公有云的 Serverless 服务。

BifroMQ 主要特性

  • 完全支持 MQTT 3.1/3.1.1 的特性,包括 TCP/TLS/WS/WSS,即将支持 MQTT 5.0
  • 原生支持多租户资源共享和工作负载隔离
  • 内置存储引擎,针对关键负载定向优化,无第三方中间件依赖。
  • 扩展机制支持:
    • 认证/授权 (Authentication/Authorization)
    • 运行时设置 (Runtime Setting)
    • 桥接 (Bridging)
    • 事件 (Event)
    • 系统/租户级别的监控 (System/Tenant-level Monitoring)

BifroMQ 采用了负载独立子集群设计,可以高效处理连接会话、消息转发和消息存储等工作负载。各子集群具备高可用性,支持横向扩展,并能灵活应对多租户场景。

同时,BifroMQ 内置了优化的分布式存储引擎,无需依赖第三方存储中间件,保证了性能稳定。

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

性能方面,在标准测试环境中,处理大量并发消息发布时,BifroMQ 保持了极低的消息时延及较低的 CPU 使用率。

使用场景方面,BifroMQ 可以广泛应用于各种物联网场景,包括但不限于智能家居、工业物联网、车联网和智能城市等多种领域。它能够为这些应用提供可靠、高性能的消息传输服务,支撑大规模设备连接和消息处理。

例如,在智能家居领域,通过 BifroMQ,可以接入数千万家居设备,并可以实现远程控制、状态同步和数据上报等功能;在工业物联网领域,它可以支持大量传感器和设备进行实时数据收集和处理;对于车联网,BifroMQ 可以处理车辆之间以及车辆与基础设施之间的通信;在智慧城市应用中,它能够协助管理和优化城市资源,如交通、能源和安全等。

百度表示 BifroMQ 属于重点开源项目,他们将会投入更多的资源支持 BifroMQ 的开发,以满足更多的业务需求。

未来,BifroMQ 将继续完善对 MQTT 5 的支持,加强性能优化,丰富功能,并不断拓展在物联网领域的应用。同时,百度会进一步强化 BifroMQ 的「被集成」能力,使其能够更加轻松地与各种系统和应用协同工作。此外,BifroMQ 未来将会与更多的开源项目和标准化组织合作,共同推动物联网技术的发展。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/249199/baidu-bifromq

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。