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,用户将需要使用外部的元信息交换的通信机制。

相关推荐
格子先生Lab8 天前
Nacos 详细介绍:微服务架构中的服务发现与配置管理利器
微服务·架构·服务发现
haohulala9 天前
【微服务学习二】nacos服务发现与负载均衡
学习·微服务·服务发现
周周的奇妙编程9 天前
红队视角出发的k8s敏感信息收集——服务发现与 DNS 探测
容器·kubernetes·服务发现
卷心菜不卷Iris9 天前
第1章大型互联网公司的基础架构——1.5 服务发现
微服务·服务发现·注册中心·服务注册·互联网大厂·大厂基础架构
俏布斯14 天前
服务发现(Dubbo-zookeeper)
zookeeper·服务发现·dubbo
企鹅侠客18 天前
k8s服务发现有哪些方式?
容器·kubernetes·服务发现
快乐就好ya18 天前
skywalking服务追踪
java·spring boot·spring cloud·微服务·服务发现
2的n次方_24 天前
Eureka 服务注册和服务发现的使用
spring boot·spring cloud·云原生·eureka·服务发现
Rinai_R1 个月前
【Golang/gRPC/Nacos】在golang中将gRPC和Nacos结合使用
经验分享·笔记·学习·微服务·nacos·golang·服务发现
周杰伦_Jay1 个月前
详细介绍:Kubernetes(K8s)的技术架构(核心概念、调度和资源管理、安全性、持续集成与持续部署、网络和服务发现)
网络·ci/cd·架构·kubernetes·服务发现·ai编程