dubbo调用流程

本文深入剖析了Dubbo服务提供者启动时如何在Zookeeper注册服务,以及客户端如何消费服务。详细介绍了Dubbo的CheckAndUpdateSubConfigs、doExportUrlsFor1Protocol等方法调用流程。同时,文章讨论了Zookeeper在分布式协调、集群管理和负载均衡中的作用,如Random、RoundRobin、LeastActive和ConsistentHash四种负载均衡策略的实现原理。最后,提到了Dubbo的事件调度策略,如Dispatch的五种模式。
摘要由CSDN通过智能技术生成

服务提供者在启动的时候,向zk上的/dubbo/${serviceName}/providers目录下写下自己的URL地址

dubbo会先调用checkAndUpdateSubConfigs方法检查配置是否合理,如果合理再调用doExportUrlsFor1Protocol方法通过配置组装URL,然后调用doExportUrl方法进行服务暴露
注:注册中心

客户端会先检查配置是否合理,然后创建RegisterDirectory实例,生成服务消费者链接向注册中心注册,然后订阅providers,configurators,routers节点下的数据
由于一个服务可能部署在多台服务器上,这样就会在 providers 产生多个节点,这个时候就需要 Cluster 将多个服务节点合并为一个,并生成一个 Invoker。
Zookeeper:

分布式协调和通知:不同的客户端都对Zookeeper上的同一个数据节点进行Watcher注册,监听数据节点的变化。若数据节点发生变化,那么所有订阅的客户端都能够接收到相应的Watcher通知,并作出相应处理。
2)集群管理:

a.客户端如果对Zookeeper的数据节点注册Watcher监听,那么当该数据及诶单内容或是其子节点列表发生变更时,Zookeeper服务器就会向订阅的客户端发送变更通知。b. 对在Zookeeper上创建的临时节点,一旦客户端与服务器之间的会话失效,那么临时节点也会被自动删除。

3)负载均衡:com.alibaba.dubbo.rpc.cluster.LoadBalance类

Random LoadBalance(默认使用)

随机,按权重设置随机概

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值