ROS2 王牌升级:Fast-DDS 性能直接碾压 zeroMQ 「上」

以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」mp.weixin.qq.com/s/aU1l3HV3a...

在 ROS 开发小组的努力下, ROS 从 ROS1 迭代到 ROS2 后通信性能提升非常大,关键是将优秀的 DDS 通信协议作为 ROS2 的内部通信协议规范,而默认的协议实现更是直接采用了 Fast-DDS。

以八戒之前所在的开发团队技术栈来看,机器人内部多节点架构,一般都习惯采用分布式技术,其中的消息中间件就是采用了 zeroMQ 作为通信底层,优点就是轻量和异步高性能。为此,八戒不禁对 ROS 采用的这款 DDS 实现顿生兴趣,其中必有不得了的优势。

找了下官网的资料,发现官网之前就以 zeromq 为对标做了一番非常详细的性能对比,看来 Fast-DDS 官方还是比较了解市场的,功夫下得足。Fast-DDS 是最新的名称,原名叫 Fast RTPS。

数据传输的另类模式:发布订阅制

目前技术栈里,绝大部分的可用中间件都是基于请求回复的模式,比如 Web 服务,Rest API,Apache Thrift 开发框架,RMI(远程方法调用)等,数据传输都是由一方发起请求,而另一方回复请求内容。

请求回复制,这种经典模式其实非常符合人的思维,你需要什么你就去找什么,请求的一方掌握主动,闲来无事互不打扰。你也不希望有人一整天都在你耳边唠叨个不停。

但是真实世界里往往有一些不太自然的一面,数据传输也不会只依靠一种模式就可以通吃。

在物理世界里,数据的采集其实是一直在发生的,比如各种传感器就会一直生产数据并反馈给中枢处理器,如果这点不好理解,试想一下你的身体是不是一直在感受(采集)周围环境的信息(数据),那么这类情景中还采用请求回复的模式就比较低效率了。

故而,一旦数据发布者发布数据,对这些感兴趣的订阅者(已订阅)就可以接收数据,这就是发布订阅模式。

发布订阅制:有什么好处

  1. 在性能方面,可以做到更低的延迟和更高的数据吞吐量。

  2. 数据两端解耦性更佳,数据生产者不用关心数据被谁接收使用,只负责生产数据,数据消费者不用关心谁负责生产数据,只需要尽量消费数据。

基于分布式系统的广泛应用需求,Fast RTPS 和 ZeroMQ 都是实现了发布订阅模式的异步消息中间件。

ZeroMQ

ZeroMQ 是一个不需要消息代理的异步消息中间件,实现了多种通信模式,除了发布订阅模式,也包括请求回复模式。提供的库 API 类似 socket API,但不包含数据序列化和逆序列化的功能,需要开发者自行实现。

Fast RTPS

Fast RTPS 是实时发布订阅协议(Real-Time Publish Subscribe protocol)的一个高性能实现,提供了简单的发布订阅 API,并且相关库 fast Buffers 也提供了数据序列化和逆序列化的支持。如果需要用到其它消息分发模式,可以使用相关库 RPC over DDS。


全文未结束,本文只是上篇。如果各位同学朋友有什么疑问可以联系笔者,当然笔者也愿意和你进一步探讨这方面的问题。另外,八戒有自己的技术圈朋友群,如果读者朋友想进群交流技术问题,欢迎联系我。

最后,非常感激各位朋友的点 「赞」 和点击 「在看」,谢谢!

相关推荐
草莓工作室3 小时前
AT指令解析:TencentOS Tiny AT指令解析源码分析1-TencentOS Tiny 简介
c语言·物联网·嵌入式·at指令·4g模组
小张数码4 小时前
随身WiFi技术深探:通信芯片/信号增益原理解析+开源方案参考!随身WiFi建议买吗?随身WiFi品牌哪个网速快信号稳定?格行随身WiFi怎么样?
网络·物联网
jianqiang.xue5 小时前
单片机图形化编程:课程目录介绍 总纲
c++·人工智能·python·单片机·物联网·青少年编程·arduino
文火冰糖的硅基工坊5 小时前
[嵌入式系统-100]:IoT(物联网)与AIoT(人工智能物联网)
人工智能·物联网·架构·创业
文火冰糖的硅基工坊18 小时前
[嵌入式系统-100]:常见的IoT(物联网)开发板
人工智能·物联网·架构
沐欣工作室_lvyiyi18 小时前
基于物联网的体温心率监测系统设计(论文+源码)
单片机·物联网·毕业设计·体温心率检测
九河云1 天前
如何选择适合的加密方法来保护云计算中的数据
网络·科技·物联网·金融·云计算
小鱼儿电子1 天前
17-基于STM32的宠物饲养系统设计与实现
stm32·嵌入式硬件·物联网·宠物·宠物饲养系统
漫途科技1 天前
物联网时代下无锡漫途科技无线多参数遥测终端助力饮水安全监测
科技·物联网·安全
爱看科技1 天前
微美全息(NASDAQ:WIMI)融合区块链+AI+IoT 三大技术,解锁物联网入侵检测新范式
人工智能·物联网·区块链