Dubbo分析之Cluster层
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 系列文章 Dubbo分析Serialize层 Dubbo分析之Transport层 Dubbo分析之Exchange 层 Dubbo分析之Protocol层 Dubbo分析之Cluster层 Dubbo分析之Registry层 前言 紧接上文 Dubbo分析之Protocol层 ,本文继续分析dubbo的cluster层,此层封装多个提供者的路由及负载均衡,并桥接注册中心,以Invoker为中心,扩展接口为Cluster, Directory, Router, LoadBalance; Cluster接口 整个cluster层可以使用如下图片概括: 各节点关系: 这里的Invoker是Provider的一个可调用Service的抽象,Invoker封装了Provider地址及Service接口信息; Directory代表多个Invoker,可以把它看成List ,但与List不同的是,它的值可能是动态变化的,比如注册中心推送变更; Cluster将Directory中的多个Invoker伪装成一个 Invoker,对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个; Router负责从多个Invoker中按路由规则选出子集,比如读写分离,应用隔离等;