This is an automated email from the ASF dual-hosted git repository.
xiaoyu pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/shenyu-website.git
The following commit(s) were added to refs/heads/main by this push:
new 05381db441 Update register-center-design.md (#928)
05381db441 is described below
commit 05381db441e2958c5ec71b27a6f33fc98733e479
Author: coderDylan <[email protected]>
AuthorDate: Tue Jul 11 17:17:09 2023 +0800
Update register-center-design.md (#928)
* Update register-center-design.md
1. Updated some class names
2.Explain some confusing concepts
* Update register-center-design.md
Fix the format of the document
* Update register-center-design.md
Optimize document formatting
---
.../version-2.5.1/design/register-center-design.md | 32 ++++++++++++++++++----
1 file changed, 26 insertions(+), 6 deletions(-)
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 25e775ed34..dcb635fbf4 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完成
+
### 注册中心客户端

@@ -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来处理客户端注册节点 |