百度开源 BifroMQ:面向IoT物联网的高性能多租户 MQTT 消息中间件

8e1ba706c2aa1825616ed752a4ead87d.jpeg

2023年7月,为了加速物联网产业的创新和卓越发展,百度天工 AIoT 物联网平台团队正式开源高性能分布式 MQTT 物联网消息中间件,并将其命名为 BifroMQ

 BifroMQ 名称寓意 

BifroMQ 的名称灵感来自于北欧神话中的 Bifröst-一座彩虹之桥,连接着人类世界 Midgard 和神祇居住的世界 Asgard,是两个世界间坚实而灵活的通道。BifroMQ 同样旨在成为连接各种系统或应用的枢纽,通过消息传递实现它们之间的交流。

 BifroMQ 技术架构及性能 

BifroMQ 是一个高性能的分布式 MQTT Broker 消息中间件实现,无缝集成了原生的多租户支持。它旨在支持构建大规模的物联网设备连接和消息系统。它来源与百度物联网团队多年技术积累,并作为百度智能云物联网核心套件 IoT Core 的基础技术,这是一个公有云 Serverless 的 MQTT 服务。

  • 完整的 MQTT 支持

完全支持 MQTT 3.1/3.1.1 包括 TCP、TLS、WS、WSS 的功能。MQTT 5 也即将支持。

内置存储引擎

针对关键负载定向优化,无第三方中间件依赖。

原生支持多租户

原生支持多租户资源共享和工作负载隔离。

扩展机制

  • 认证/授权 (Authentication/Authorization)

  • 运行时设置 (Runtime Setting)

  • 桥接 (Bridging)

  • 事件 (Event)

  • 系统/租户级别的监控 (System/Tenant-level Monitoring)

数据集成: 用户除了使用传统的设备接收来自BifroMQ的消息与事件之外,还可以采用SDK的方式进行服务间数据的接入与集成。集成方式如下图所示:

aa7863d29ee35f81bbe5f70469ea73f2.png

集成方通过共享订阅的方式($share/{groupName}/topicFilter)接收来自BifroMQ 的数据,并将数据传递给下游例如Kafka或者MySQL。由于服务间集成数据量较大, 因此对于单个MQTT连接而言负载较大,带宽存在上限。采用共享订阅的方式正好利用了其负载均衡的特点,且随着业务的发展可以灵活地增减相应MQTT Client数量。

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

BifroMQ 经过严格的性能测试,展现出了强大的处理能力和低时延。在一个标准的测试环境中,处理大量并发消息发布时,BifroMQ 保持了极低的消息时延及较低的 CPU 使用率。

b00bea74f2137ddfe7eb8d9a50bbedc8.png

 BifroMQ 适用场景 

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


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

 未来展望 

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

最后,作为一个开源项目,BifroMQ 非常欢迎各位开发者和企业深度参与项目开发和改进。为此,我们在 BifroMQ 官网( https://bifromq.io/ )为开发者提供了丰富的文档、教程、问题解答和代码贡献等资源。

往期推荐

☞ IDC中国2022年IoT物联网平台评估报告

☞ 2022年 IoT物联网平台趋势: 私有化

☞ 5个值得分享的物联网创业失败教训

☞ 国内 4 大 IoT物联网平台选型对比

☞ 云厂商的 [IoT物联网平台] 不香了吗?

bd1e5adcdd315fba5d5818fd5d08dc51.png

b50b7452569d0e65474aaab40043358c.gif

998a3cb09c2d4652e589fb209274919e.gif

414fd453a96eac2653a916e6ab361a49.gif

6adcb87db51307a63ea3038811b74ca9.gif

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、物联网的概览1.1物联网的起源1.2物联网的概念1.3物联网的应用1.4物联网技术要素1.5物联网与云计算的关系1.6物联网与大数据的关系二、软件架构演进史2.1单体架构2.2分布式应用2.3微服务架构2.4Serverless架构三、物联网云平台开发环境搭建3.1开发需要的软件与技术环境概览3.2Java环境-JDK安装3.3数据库-MySQL安装3.4高速缓存技术-redis安装3.5时序数据库-influxdb安装3.6IDE开发工具-idea 安装3.7原型图设计工具-axure安装3.8前端开发工具-vscode安装3.9容器部署-docker安装3.10消息队列-kafka安装3.11mqtt broker安装四、可视化管理工具的安装4.1navicat安装与使用4.2redis 可视化工具安装与使用4.3mqtt可视化工具安装与使用4.4kafka可视化工具安装与使用4.5代码管理工具安装git与使用五、后台开发基础知识介绍5.1数据库使用5.2Redis连接5.3Mqtt接入5.4Influxdb接入5.5Kafka接入5.6负载均衡nginx搭建5.7租户概念5.8Iass,pass,sass之间的联系六、微服务架构介绍6.1微服务核心组件介绍6.2微服务网关gateway6.3注册中心6.4配置中心6.5负载均衡6.6服务调用6.7熔断机制七、物联网平台需求分析7.1物联网云平台的背景7.2物联网云平台脑图设计7.3物联网云平台需求分析7.4物联网云平台开发计划设计八、物联网平台架构设计8.1平台服务拆分8.2物联网平台架构图设计8.3平台技术栈的选择8.4设备认证的设计8.5服务网关的设计8.6后台服务的设计 九、物联网云平台原型设计9.1登录注册页面设计9.2首页设计9.3产品页面设计9.4设备页面设计9.5数据中心页面设计十、数据库设计10.1关系数据库表设计10.1.1用户表10.1.2角色表10.1.3权限表10.1.4用户角色表10.1.5角色权限表10.1.6产品表10.1.7设备表10.1.8操作记录表10.2时序数据库表设计十一、物联网云平台接口文档设计11.1物联网云平台通信方式介绍11.2HTTP接口设计11.2.1.登录接口设计11.2.2注册接口设计11.2.3产品列表设计11.2.4产品添加设计11.2.5产品编辑接口11.2.6产品删除设计11.2.7添加设备接口11.2.8编辑设备接口11.2.9删除设备接口11.2.10添加租户接口11.2.11删除租户接口11.2.12编辑租户接口11.3mqtt主题十二、物联网云平台后台代码开发12.1.认证服务代码开发12.2产品管理代码开发12.3设备管理代码开发12.4数据分析代码开发12.5首页代码开发十三、物联网平台接口测试13.1什么是接口13.2接口测试流程13.3常见后台测试用例13.4使用postman测试接口 十四、物联网云平台前端设计14.1物联网云平台前端技术栈14.2vue环境搭建14.3element基础组件学习14.4vue admin element框架13.5vue与后台接口对接与联调 十五、物联网设备客户端开发15.1flutter介绍15.2flutter环境搭建15.3利用flutter编写第一个Android程序15.4flutter写一个程序接入物联网云平台  十六、部署与实施16.1使用idea发布docker环境16.2微服务程序部署方式介绍16.2.1使用jar包部署微服务程序16.2.2docker 部署微服务程序16.3dockerfile编写16.5负载均衡Nginx搭建与配置微服务程序 十七、物联网实例-设计一款远程电子锁17.1材料准备17.2技术原理17.3产品测试

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值