ZBLOG

In this architecture there are several key concepts to understand: The Discovery Server mechanism reuses the RTPS discovery messages structure, as well as the standard DDS DataWriters and DataReaders. Discovery Server DomainParticipants may be c...

这段文字描述了一种基于 DDS(数据分布服务)和 RTPS(实时发布-订阅协议)的发现服务器架构。以下是对关键概念的解释:

1. Discovery Server

  • 功能:重用 RTPS 的发现消息结构,并使用标准的 DDS 数据写入器(DataWriters)和数据读取器(DataReaders)。

2. DomainParticipants

  • 角色
    • SERVER:充当参与者,接收来自客户端(及可能的其他服务器)的发现信息,并将这些信息重新分发给已知的客户端和服务器。
    • CLIENT:连接到一个或多个服务器,仅接收其建立通信所需的发现信息。

3. SERVER 的职责

  • Redistribute discovery information: SERVER 将客户端的发现信息转发给其已知的其他客户端和服务器。
  • Announce new servers: 当新的 SERVER 加入网络时,它会将此信息告知它已知的服务器。

4. Backup Server

  • 定义:持久化其发现数据库至文件的一种 SERVER。
  • 优点:能够在启动时从文件加载网络图,不需要等待客户端的信息,这样可以在意外关机后保留对网络状态的信息。
  • 缺点:定期写入文件会影响发现时间,因为这是一个开销较大的操作。

5. CLIENT 的特点

  • 客户端需要事先知道想要连接的服务器,包括 IP 地址和端口,定义了用于联系服务器的传输协议(如 UDP 或 TCP)。

6. SUPER_CLIENT

  • 与普通 CLIENT 不同的是,SUPER_CLIENT 会接收 SERVER 知道的所有发现信息,而不仅仅是其所需的信息。
  • SUPER_CLIENT 不像 SERVER,那样去 redistributing 信息,它不会连接到其他服务器,也不会处理未连接到其自身的 DomainParticipant。

7. 信息流与互联机制

  • CLIENT 定期向 SERVER 发送发现消息直到收到确认,一旦确认,SERVER 就能获取 CLIENT 的存在并通知它相关的信息。同样,如果 SERVER 想要连接另一个 SERVER,则也遵循类似原则。

总结来说,该架构通过 DISCOVERY SERVERS 和不同角色之间的信息流动,使得系统中的各个参与者能够相互识别和进行有效通信。同时,通过 BACKUP SERVER 可以保证在意外情况下的数据持久性,但代价是增加了发现延迟。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=21308

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?