diff --git a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.1/design/register-center-design.md b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.1/design/register-center-design.md index 25e775ed345..dcb635fbf46 100644 --- a/i18n/zh/docusaurus-plugin-content-docs/version-2.5.1/design/register-center-design.md +++ b/i18n/zh/docusaurus-plugin-content-docs/version-2.5.1/design/register-center-design.md @@ -17,6 +17,23 @@ description: 客户端接入原理 ## 设计原理 +### 术语说明 + +为了便于读者理解,避免产生歧义,本节的图、文中所提到的"注册中心客户端","注册中心服务端","register-center-client","register-center-server"等 +均指的是shenyu-register-client和shenyu-register-client-server,也就是讲的都是由shenyu所包装的一些模块和类。 +读者在理解时不要和实际注册中心的客户端、注册中心服务概念搞混淆了(例如:nacos-client、nacos-server) + + +### 整体流程 + +1.微服务应用启动时,会通过指定的注册中心客户端将注册信息写入到注册中心中(例如:nacos) +2.shenyu-admin启动会从指定的注册中心中订阅注册信息,放入Disruptor中 +3.借助shenyu的数据同步机制,将注册信息实时同步给shenyu-gateway + +数据同步机制设计可参考 [数据同步机制设计](data-sync.md) + +http服务注册比较特殊,直接由shenyu-admin完成 + ### 注册中心客户端 ![](/img/shenyu/register/client.png) @@ -24,7 +41,7 @@ description: 客户端接入原理 在你的微服务配置中声明注册中心客户端类型,如`Http`或`Zookeeper`。 应用程序启动时使用`SPI`方式加载并初始化对应注册中心客户端,通过实现`Spring Bean`相关的后置处理器接口,在其中获取需要进行注册的服务接口信息,将获取的信息放入`Disruptor`中。 -注册中心客户端从`Disruptor`中读取数据,并将接口信息注册到`shenyu-admin`,`Disruptor`在其中起数据与操作解耦的作用,利于扩展。 +注册中心客户端从`Disruptor`中读取数据,并将接口信息最终注册到`shenyu-admin`,`Disruptor`在其中起数据与操作解耦的作用,利于扩展。 ### 注册中心服务端 @@ -126,6 +143,8 @@ shenyu.register.service.${rpcType}.${contextPath} ### SPI扩展 +应用微服务通过shenyu-client接入注册时使用到的一些类 + | *SPI 名称* | *详细说明* | | -------------------------------- | --------------------------- | | ShenyuClientRegisterRepository | ShenYu网关客户端接入注册服务资源 | @@ -138,16 +157,17 @@ shenyu.register.service.${rpcType}.${contextPath} | ConsulClientRegisterRepository | 基于Consul注册的实现 | | NacosClientRegisterRepository | 基于Nacos注册的实现 | +shenyu-admin从注册中心中订阅注册信息时用到的类 | *SPI 名称* | *详细说明* | | -------------------------------- | ----------------------------- | -| ShenyuServerRegisterRepository | ShenYu网关客户端注册的后台服务资源 | +| ShenyuClientServerRegisterRepository | ShenYu网关客户端注册的后台服务资源 | | *已知实现类* | *详细说明* | | -------------------------------- | ----------------------------- | | ShenyuHttpRegistryController | 使用Http服务接口来处理客户端注册请求 | -| ZookeeperServerRegisterRepository| 使用Zookeeper来处理客户端注册节点 | -| EtcdServerRegisterRepository | 使用Etcd来处理客户端注册节点 | -| ConsulServerRegisterRepository | 使用Consul来处理客户端注册节点 | -| NacosServerRegisterRepository | 使用Nacos来处理客户端注册节点 | +| ZookeeperClientServerRegisterRepository| 使用Zookeeper来处理客户端注册节点 | +| EtcdClientServerRegisterRepository | 使用Etcd来处理客户端注册节点 | +| ConsulClientServerRegisterRepository | 使用Consul来处理客户端注册节点 | +| NacosClientServerRegisterRepository | 使用Nacos来处理客户端注册节点 |