Dubbo调度机制解析(cluster扩展或者路由扩展)
来源:互联网 发布:linux中的pwd命令 编辑:程序博客网 时间:2024/06/06 19:25
1. 更详细的duboo的集群路由和负载均衡机制分析
首先进入XXClusterInvoker类:
invoke(final Invocation invocation)-> Directory.list(invocation)
进入XXDirectory(RegistryDirectory)类:
list(invocation)->doList(Invocation invocation)-> router.route(invokers,getConsumerUrl(), invocation);
进入XXRouter类:
route(List<Invoker<T>> invokers, URL url,Invocation invocation)
返回XXClusterInvoker类:
->doInvoke(Invocation invocation, final List<Invoker<T>>invokers, LoadBalance loadbalance)-> select(LoadBalance loadbalance,Invocation invocation, List<Invoker<T>> invokers,List<Invoker<T>> selected)-> doselect(LoadBalance loadbalance,Invocation invocation, List<Invoker<T>> invokers,List<Invoker<T>>)-> loadbalance.select(invokers, getUrl(),invocation);
进入XX loadbalance类:
-> doSelect(List<Invoker<T>> arg0, URL arg1,Invocation arg2)
---整个cluster的调度流程总体如上述
2.在这个流程中我们可以对三到四个层面进行扩展重写
(1)Cluster和ClusterInvoker
(2)Directory
(3)Router
(4)loadbalance
--其中(1)和(4)已经实践过没问题,(2)和(3)的扩展没试过,尤其是router的扩展貌似不能直接在XML配置文件上使用,而是要手工写到注册中心。
- Dubbo调度机制解析(cluster扩展或者路由扩展)
- Dubbo调度机制解析(LoadBalance扩展)
- Dubbo中SPI扩展机制解析
- Dubbo——扩展点加载机制
- Dubbo——扩展点加载机制
- Dubbo源码解析-Dubbo微内核实现(SPI扩展)
- Dubbo源码分析——扩展点机制
- Dubbo源码分析系列-扩展机制的实现
- Dubbo源码分析——扩展点机制
- Dubbo源码分析 ---- 基于SPI的扩展实现机制
- 对于Dubbo的扩展点加载机制的一些想法
- Dubbo/Dubbox的服务暴露(二)-扩展点机制
- 深入dubbo之ExtensionLoader,灵活的扩展点加载机制
- Dubbo扩展点重构
- dubbo基于spi扩展
- dubbo-spi扩展一
- dubbo-spi扩展二
- dubbo扩展点
- 释放技术的想象-解码腾讯云软件架构与应用
- 一些简单的小程序_2——C语言篇
- Windows_Postgresql相关错误处理
- socket的实现,安卓系统AOSP源码
- Mybatis批量修改mysql犯的两个错Query was empty和
- Dubbo调度机制解析(cluster扩展或者路由扩展)
- Android题目笔记(六)
- 6.13
- (10)映射继承关系一之继承关系都映射在一张表中(@Inheritance(strategy=InheritanceType.SINGLE_TABLE))
- ios-音乐播放器的简单实现
- Python模块matlotlib之pylot.plot()
- Qt编写自定义控件及插件的使用
- 全局作用域,局部作用域,语句作用域,类作用域,命名作用域和文件作用域(转载)
- CMake Error: not providing "FindEigen3.cmake" in CMAKE_MODULE_PATH