zk临时节点失效时间_dubbo学习(六)服务发布dubbo服务在zk的创建、订阅

本文详细介绍了Dubbo服务在Zookeeper上的发布过程,包括服务端provider的发布步骤,如暴露本地和远程服务、启动Netty、注册服务到Zookeeper,并创建临时节点。同时,文章分析了服务的订阅和监听机制,以及订阅后的处理,如配置节点更新和Invoker实例的重新生成。
摘要由CSDN通过智能技术生成

一、服务端provider发布流程回顾

    根据dubbo启动日志,provider的发布动作为以下几个步骤:

(1)暴露本地服务

Export dubbo service com.ywl.dubbo.TestApi to local registry, dubbo version: 2.0.0, current host: 127.0.0.1。

(2)暴露远程服务

Export dubbo service com.ywl.dubbo.TestApi to url dubbo://192.168.24.69:20880/com.ywl.dubbo.TestApi...后面省略。

(3)启动netty

Start NettyClient yuwenlei.local/192.168.24.69 connect to the server /192.168.1.100:20041, dubbo version: 2.0.0, current host: 192.168.24.69。

(4)打开zk

Opening socket connection to server dailyzk.webuy.ai/192.168.49.11:2181。

(5)注册provider服务到zk

Register dubbo service com.ywl.dubbo.TestApi url dubbo://192.168.24.69:20880/com.ywl.dubbo.TestApi?  ...中间省略。

to registry registry://dailyzk.webuy.ai:7005/org.apache.dubbo.registry.RegistryService? ...后面省略。

(6)监听zk(订阅与通知)

Subscribe: provider://192.168.24.69:20880/com.ywl.dubbo.TestApi?...后面省略。

Notify urls for subscribe url provider://192.168.24.69:20880/com.ywl.dubbo.TestApi?...后面省略。

·  服务发布的目的

    解析dubbo-provider.xml中的接口。将服务提供者向注册中心注册服务,以便服务消费者从注册中心查询并调用服务。

<dubbo:service interface="com.ywl.dubbo.TestApi" ref="testApi" retries="0"               cluster="failfast" timeout="3000"/>

    上篇文章已经提到zookeeper是如何被初始化与连接的,这一篇主要分析下dubbo服务是如何在zookeeper上进行节点创建与他们的订阅关系。

二、dubbo节点如何创建在zookeeper

    创建dubbo节点是建立在远程服务暴露的源码基础上:

public <T> Exporter<T> export(final Invoker<T> originInvoker) throws RpcException {
    //暴露远程服务    final ExporterChangeableWrapper<T> exporter = doLocalExport(originInvoker);    URL registryUrl = getRegistryUrl(originInvoker);    //初始化注册信息、连接zk
    final Registry registry = getRegistry(originInvoker);    //注册服务 - 即在注册中心创建dubbo服务节点

    register(registryUrl, registeredProviderUrl);

//...

}

public void register(URL registryUrl, URL registedProviderUrl) {

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值