服务发现实现策略总结

本文主要讲述了 ara::com 服务发现的实现策略相关内容,包括通过网络及本地进行服务发现的情况,以及集中式与分布式两种实现方法的特点,具体如下:

一、服务发现功能概述

ara::com 期望产品供应商实现服务发现功能,其在 API 级别通过特定方法定义,协议及实现细节开放。当 AP 节点通过网络提供或请求服务时,服务发现 / 服务注册表通过网络进行,相关协议由所用通信协议指定(如 SOME/IP);若同一节点上的 ara::com 应用程序相互通信,需有本地版本的服务发现,其协议实现取决于 AP 产品供应商。

二、集中式方法

AP 产品供应商可选择的一种方法是集中式方法,即设置一个中央实体(如守护进程):

  1. 负责维护所有服务实例及其位置信息的注册表。
  2. 处理本地 ara::com 应用程序的相关服务请求,更新或查询注册表。
  3. 应对网络的 SOME/IP SD 消息,相应更新或查询注册表。
  4. 通过发送 SOME/IP SD 消息将本地更新的注册表传播到网络。

三、分布式方法

另一种是分布式方法,在节点内的 ara::com 应用程序之间分布服务注册表信息,对于本地通信用例无需突出服务发现守护进程,可通过广播等通信技术实现,使各应用程序进程内有本地视图。这种方法虽有本地通信更灵活稳定的优势,但因 SOME/IP SD 需固定端口(只能由单个应用程序进程提供),在网络服务发现的通信节点场景下不可行。不过存在一个单例充当节点本地发现协议和网络 SOME/IP SD 协议之间的服务发现协议桥梁,且该桥梁持有本地注册表。

相关推荐
AOwhisky2 天前
Kubernetes调度与服务暴露:从“定时任务”到“服务发现”的完全指南
linux·运维·云原生·容器·kubernetes·服务发现
白晨并不是很能熬夜2 天前
【RPC】第 4 篇:服务发现 — Zookeeper + 缓存容错
java·后端·程序人生·缓存·zookeeper·rpc·服务发现
运维全栈笔记5 天前
K8S部署WordPress+MySQL:模块化YAML配置详解
服务器·mysql·docker·云原生·容器·kubernetes·服务发现
雨奔5 天前
Kubernetes DNS 完全指南:服务发现核心机制与实践
java·kubernetes·服务发现
谢谢蟹老板的蟹黄堡6 天前
MindSpore:ResNet50中药炮制饮片质量判断最佳实践
服务发现
rchmin12 天前
Nacos 3.x 优势介绍及接入指南
微服务·服务发现·动态配置
hqyjzsb15 天前
传统剪辑师升级AI视频生成师后接单效率与收入变化
人工智能·aigc·服务发现·音视频·学习方法·业界资讯·ai写作
大罗LuoSir16 天前
分布式微服务全貌了解-整体架构、特征和需关注解决的问题
java·缓存·微服务·zookeeper·容器·服务发现·负载均衡
cccyi724 天前
【C++ 脚手架】etcd 的介绍与使用
c++·服务发现·etcd·服务注册
zs宝来了25 天前
Consul 服务网格原理:Gossip 协议与 Raft 一致性
服务发现·consul·服务网格·gossip协议·raft一致性