最后更新:2022-06-23 20:53:43 手机定位技术交流文章
我们前面提到,ecal是无经纪人,那么什么是经纪人和无经纪人?

A message broker is software that enables applications, systems, and services to communicate with each other and exchange information. The message broker does this by translating messages between formal messaging protocols. This allows interdependent services to “talk” with one another directly, even if they were written in different languages or implemented on different platforms.
消息经纪人是一个应用程序,它的存在使得不同的应用程序(APP)/系统/服务互相通信(数据交互)。经纪人可以实现消息协议之间的自动转换(假设接收者和发送者通信协议不同),即使应用程序在不同的系统上,它也会使用不同的编程语言编写。
如上图所示,经纪人作为消息代理,从消息生产者接收数据,然后将其转换成协议(如果需要),然后发送给消息消费者。
从上面看,我们很容易得到这个网络架构的优点:
同时,这种网络架构的弊端也显而易见:

上面的图表显示了无中间体的网络架构(Brokerless),其优点是:
但是,为了实现点点连接,消息生产者首先需要了解信息,例如消息消费者的IP(对于小系统来说,可以通过固定网络拓扑实现,但对于大系统来说并不现实),因此
其次,基于 ro1的主题建立通信连接,描述了Broker和Brokerless,

上面是Ros官方提供的数据连接的图片,它使用rviz查看激光点云数据(sensor_msgs/LaserScan)。
sensor_msgs/LaserScan数据。在节点首先发送有关主题的数据之前,首先将发送的数据信息发送给主机,包括发送的数据类型,topic名字,发送者URI(主机名称+端口)等(上图的主题是扫描,主机名是foo,港口是1234),然后,Theros的主人将这些信息记录在出版商表中(如果没有订阅者,出版商将不实际发送数据);sensor_msgs/LaserScan数据,首先进入 theros master通信,使用XMLRPC获取谁在“扫描”主题上发送数据, theros master返回发送者URIfoo:1234,但URI不用于发送数据;foo:2345然后,用户连接到出版商的数据URI来进行真正的TCP数据传输。从上面的过程可以看出,ros1并不是真正的代理网络架构,因为真正的TCP数据连接不通过罗斯主机.罗斯大师的主要任务是为系统其他节点提供主题登记服务,帮助出版商和订阅者完成连接设置,它负责寻找邻居的功能。它也不是无家可归。因为如果有诺罗斯大师的话,整个罗斯系统的数据连接根本无法建立,这也是ROS1的最大问题之一,单节点失效问题,如果系统运行,罗斯科有故障,整个系统不会正常运作。
汽车通信中介电子源代码分析-2. “Broker vs Brokerless - Zhihu”.(com)
本文由 在线网速测试 整理编辑,转载请注明出处。