SpringCloud Alibaba系列——13Dubbo的服务治理和监听机制(上)

Posted Eclipse_2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringCloud Alibaba系列——13Dubbo的服务治理和监听机制(上)相关的知识,希望对你有一定的参考价值。

学习目标

  1. Dubbo的服务上下线流程以及动态感知

  2. Dubbo的动态配置监听

  3. 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实战系列文章说明

SpringCloud alibaba实战系列文章汇总

SpringCloud-Alibaba系列教程2.搭建用户微服务模块

深入浅出Dubbo3原理及实战「SpringCloud-Alibaba系列」基于Nacos作为注册中心进行发布SpringCloud-alibaba生态的RPC接口实战

SpringCloud Alibaba系列Dubbo基础入门篇

SpringCloud Alibaba系列Dubbo高级特性篇