DDS 的以数据为中心
DDS 的一个重要特性是“以数据为中心”。
过去在介绍 SOA 时,人们常说其一大特点是解耦。但解耦并非 SOA 的专利,DDS 同样能够实现解耦。
与 SOA 中的服务、请求、响应等复杂概念不同,DDS 世界中只有“数据”这一核心要素。应用程序可以像访问数据库一样,自由收发数据,而无需关注数据来源去向。发布端只需把数据“丢给”DDS,不必理会接收者情况;订阅端则直接从 DDS “拿走”所需数据,不问数据发布方。这种“充分解耦”的模式,甚至超越了 SOA。
大家可能会问,DDS 中是否也存在一个中央节点,和 SOA 架构类似? 从逻辑上讲,确实存在一个虚拟的“全局数据空间”。但这并非 SOA 中的“服务器”概念,两者指向不同层次。DDS 中的“服务”,仅指数据分发服务,属底层功能,负责数据发现、存储、发布等,不涉及业务逻辑;而 SOA 中的“服务”则指应用层的业务服务,如空调、音乐等。这是须明确区分的两个概念。另外,尽管 DDS 逻辑上有“全局数据空间”,但在物理实现上它仍是分布式的,并不存在真实的服务器节点,因此不存在单点故障和性能瓶颈隐患。
上图可以很好地解释 DDS 发布订阅双方的解耦关系。一开始整个系统处于空闲状态,发布端第一个“唤醒”,开始发布数据。此时网络中尚无接收者,但没关系,发布端只管把数据“丢给”DDS 即可,随后自己进入休眠。等到有订阅端上线需要数据时,直接从 DDS“拿走”所需数据即可,根本无需在意数据源头。这种“充分解耦”模式靠 DDS 的内置 QoS (服务质量)实现,这能够使 DDS 的耦合程度比 SOA 更低。因为在 SOA 的请求-响应通信中,客户端和服务端必须同时在线,而 DDS 并不一定要求如此。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文:全面解读DDS和TSN融合技术及其测试方案 (上)软件定义汽车对网络通信技术的影响|DDS的关键特性|DDS的以数据为中心|DDS的平台无关|基于DDS实现的SOA架构
原文链接:https://blog.csdn.net/weixin_51954443/article/details/140946652
- 复制链接
- 举报