chickenlj commented on PR #13747:
URL: https://github.com/apache/dubbo/pull/13747#issuecomment-1970503178
## xds client 初始化
- [ ] xds client 在dubbo中初始化的时机
- [ ] 稳定性如 keep-alive 等
- [ ] 推送机制对接是否合理,ack/nack/nounce等
- [ ] 监听器
- [ ] 初始监听的资源
- [ ] 需要的用户配置如地址等(配合控制面)
- [ ] 链接需要的证书/身份之类
## 组件实现与关系
- [ ] 一个 interface 对应生成一个 cluster、一个directory、一个cluster invoker;
- [ ] 多个 directory(interface) 对应一个
application-name:`pilotExchanger.subscribeRds`要处理并发问题,做到多个 directory 共享一个
RdsListener
- [ ] Directory 的 onRdsChange onCdsChange,每个接口一个,是不是不存在并发问题?
- [ ] changeClusterSubscribe 的逻辑 old/new
变更逻辑。只是不通知当前directory(interface)?还是从xds server摘除订阅unsubscribe(错误,因为cluster是共享的)?
- [x] xdsCluster.getXdsEndpoints() 的实现,endpoints
的获取具体流程;每个directory里自己去拿肯定是不合适的,因为它应该是共享的
- [ ] 和老directory逻辑的关系,之前AbstractDirectory建设的可用性检查之类的还能用吗?
- [ ] XdsClusterInvoker.doInvoke() 的具体实现目前还是空的
- [x] XdsRouter 是每个 interface 一个实例,由标准的 router chain 组装
- [ ] 注册 lds/cds/rds/eds 资源监听的逻辑,编码风格为何不一致
## 资源操作
- [ ] 以 provided-by 作为起始订阅 rds 资源
- [ ] 实现逻辑上考虑多个应用的情况
- [ ] Directory 关注或接收的两个关键资源变更 rds 与 eds
- [ ] onRdsChange,解析出 cds list,对关注的 cds list 进行变更(本质是 listener 订阅变更)
- [ ] onCdsChange,直接使用 cluster 去查询内存 endpoints 列表
- [ ] 地址变更事件的实际触发点(什么动作会有 invokers 刷新)
- [ ] rds 变更,为何要触发地址列表变更?
- [ ] 因为关心的 cds list 列表发生了变化?
- [ ] 变更的时机和行为是否正确,包括顺序是否正确,有没有遗漏
- [ ] eds 变更,最直接的地址变更
- [ ] 转换为 cds list 触发地址列表变更?
- [ ] cds 变更,触发总的eds资源池刷新,实际不会影响directory粒度的地址更新?
- [ ] 具体的资源解析内容分析
- [ ] rds 要解析的内容,路由 router 当前用到的内容与欠缺的内容
- [ ] cds 要解析的内容
- [ ] eds 要解析的内容,转换为 url 和 invoker 当前用到的内容与欠缺的内容
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]