SpringCloud Alibaba系列——13Dubbo的服务治理和监听机制(上)
Posted Eclipse_2019
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Alibaba系列——13Dubbo的服务治理和监听机制(上)相关的知识,希望对你有一定的参考价值。
学习目标
-
Dubbo的服务上下线流程以及动态感知
-
Dubbo的动态配置监听
-
Dubbo的路由监听
第1章 服务上线下线监听
1.1 监听注册
1.1.1 说明
以cn.enjoy.service.UserService接口的上线下线为例。
服务的上线会在/dubbo/cn.enjoy.service.UserService/providers节点下写入相应的dubbo协议的节点数据,下线就会删除该节点的数据,那么是如何注册对该节点的监听的呢?我们来分析一下源码
1.1.2 源码分析
学过zookeeper的同学应该都知道,如果要监听一个节点的数据变更,就只要客户端注册一个对该节点的监听就可以了,我们来看看dubbo是如何注册监听的。首先我们应该知道,当providers节点发生了数据变更应该通知给谁,肯定是要通知给消费方的,所以这里的客户端指的就是消费方,那么我们只要看看消费方的protocol.refer方法,在服务引用的时候注册了监听。代码最终来到了RegistryProtocol中的doCreateInvoker方法。
protected <T> ClusterInvoker<T> doCreateInvoker(DynamicDirectory<T> directory, Cluster
cluster, Registry registry, Class<T> type)
directory.setRegistry(registry);
directory.setProtocol(protocol);
//
SpringCloud alibaba实战系列文章说明
以上是关于SpringCloud Alibaba系列——13Dubbo的服务治理和监听机制(上)的主要内容,如果未能解决你的问题,请参考以下文章
SpringCloud-Alibaba系列教程2.搭建用户微服务模块
深入浅出Dubbo3原理及实战「SpringCloud-Alibaba系列」基于Nacos作为注册中心进行发布SpringCloud-alibaba生态的RPC接口实战