dubbo连接过程
2024-08-29 22:46:18
场景1 启动时
dubbo服务提供端在Zookeeper上注册的节点目录:假设接口名称是:com.bob.dubbo.service.CityDubboService
dubbo服务提供端连接到注册中心,注册自身到/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
最新文章
- C++ new和delete具体操作符是怎样的
- APIJSON,让接口见鬼去吧!
- 使用FreePic2Pdf导出书签至Word建立层级目录——快速初始化Word笔记本目录
- Linux查看操作系统时间
- ubuntu su 密码
- web app 变革之rem
- 【风马一族_代码英语】代码英语之八 ADB
- [大牛翻译系列]Hadoop(11)MapReduce 性能调优:诊断一般性能瓶颈
- http://src.chromium.org/svn/ 定制chrome浏览器教程及源码
- 把 图片 资源文件 编译到dll
- Request processing failed; nested exception is org.springframework.dao.InvalidDataAccessApiUsageException: Multiple representations of the same entity解决方法
- Effective前端2---加快页面打开速度
- vue-先渲染dom载执行js
- Pycharm+Anaconda安装及配置
- 初识thinkphp(1)
- 20155225 2016-2017-2《Java程序设计》课程总结
- centos6.5/6.3升级安装ImageMagick7.0.1-1
- 如何在JTable中动态添加一行
- SQL基础(五):SQL函数
- [翻译]理解CSS模块方法