dubbo连接过程
场景1 启动时
dubbo服务提供端在Zookeeper上注册的节点目录:假设接口名称是:com.bob.dubbo.service.CityDubboService
/providers
目录下,其节点信息参考如下。
其中第4个节点是临时节点。心跳检测超时zk会删除临时节点。
dubbo服务消费端连接到注册中心,注册自身到/consumers
目录下,同时还会订阅/providers
目录,实时获取其上Provider的URL字符串信息。同时订阅获得的Provider信息持久化到本地文件。
/providers
下的临时节点变动时,dubbo服务消费端会拉取最新的/providers
目录。
5s定时任务
dubbo服务提供端(Provider)或dubbo服务提供端(Consumer)启动成功后,会创建一个5s定时任务,内容如下:
Provider向zookeeper注册自身的url,生成一个临时的znode
Provider从Dubbo容器中退出,停止提供RPC调用。也就是移除zookeeper内自身url对应的znode
Consumer订阅 `/dubbo/Service/providers` 目录的子节点,生成ChildListener
Consumer从Dubbo容器中退出,移除之前创建的ChildListener
场景2 zk服务器挂掉
dubbo服务提供端(Provider)或dubbo服务提供端(Consumer)内部的zkClient会不停地尝试连接Server。
连接成功后重新注册和订阅。
连接不成功,不影响dubbo服务提供端(Consumer)调用。加载本地文件的Provider信息进行调用。
参考:
https://blog.csdn.net/qq_27529917/article/details/80632078
https://juejin.im/post/5cd29c1c6fb9a031f0381306
合乎自然而生生不息。。。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2014-12-02 20141202