当前位置: 首页 > news >正文

Fast-DDS 服务发现简要概述

阅读本文章需要对DDS基础概念有一些了解,一些内容来自Fast-DDS官方文档,一些是工作中踩过的坑。

1. 服务发现阶段

满足OMG标准的DDS服务发现分为两部分,分别是:

  • PDP(Participant Discovery Protocol 参与者发现协议):参与者确认彼此的存在。参与者会定期发送公告信息,消息包括但不限于参与者的名称,ID,所在进程信息,所在主机信息,以及监听用户数据以及发现数据的IP Port等;
  • EDP(Endpoint Discovery Protocol 端点发现协议)。确认 DataWriter 和 DataReader 的信息,如Topic,数据类型等信息

PDP和EDP不同DDS可以有不同的实现方式,为了使得不同厂家的DDS能够互相通信,OMG标准规定,所有种类的DDS都需要实现SPDPSEDP,即简单参与者发现协议和简单端点发现协议,以满足互操性。

Fast DDS提供的服务发现机制

  1. 简单发现:及上述的SPDP和SEDP协议,保证了Fast-DDS和其余品种的DDS的互操性,兼容性;

  2. 静态发现:在PDP阶段使用的是SPDP。但是可以在EDP阶段,在配置文件中指定要进行交互的端点(datawriter/datareader)的一些信息,如Topic,数据类型,通信的IP和端口号等。

  3. 发现服务器:基于C/S结构,发现消息等元流量由一个或者多个充当服务器的参与者进行管理。
    在这里插入图片描述

  4. 手动发现:不与DDS层兼容,与底层RTPS层兼容。该机制禁用PDP,需要用户手动的匹配RTPSParticipants,RTPSReaders和RTPSWriters,用户将需要使用外部的元信息交换的通信机制。

http://www.lryc.cn/news/164884.html

相关文章:

  • 基于spingboot的websocket订阅、广播、多人聊天室示例
  • Linux mac Windows三系统 局域网文件共享方法
  • Java——比较器
  • 【数据结构】初识泛型
  • 代码随想录--哈希--有效的字母异位词
  • MySQL——数据的增删改
  • 云服务器与http服务器
  • golang教程 beego框架笔记一
  • 【深度学习】Mini-Batch梯度下降法
  • AI项目六:WEB端部署YOLOv5
  • 敲代码常用快捷键
  • MyBatis: 分页插件PageHelper直接传递分页参数的用法
  • Python基于Flask的高校舆情分析,舆情监控可视化系统
  • Python第一次作业练习
  • InstallShield打包升级时不覆盖原有文件的解决方案
  • 服务器巡检表-监控指标
  • 无涯教程-JavaScript - DDB函数
  • uniapp打包微信小程序。报错:https://api.weixin.qq.com 不在以下 request 合法域名列表
  • stm32之31.iic
  • 新的 ChatGPT 提示工程技术:程序模拟
  • 【Python】爬虫基础
  • leetcode分类刷题:队列(Queue)(三、优先队列用于归并排序)
  • 无线窨井水位监测仪|排水管网智慧窨井液位计安装案例
  • 024 - STM32学习笔记 - 液晶屏控制(一) - LTDC与DMA2D初始
  • Python数据容器:dict(字典、映射)
  • 2023年基因编辑行业研究报告
  • Spring MVC:请求转发与请求重定向
  • 按键灯待机2秒后灭掉
  • SpringBoot通过自定义注解实现日志打印
  • 代码随想录算法训练营第七天 |151.翻转字符串里的单词