Dubbo学习(六)深入 Cluster
2026/6/6 19:54:56 网站建设 项目流程

深入 Cluster:微服务治理的“中央大脑” —— 容错与负载均衡

摘要

在微服务架构中,一个服务通常有多个实例。当 Consumer 要调用 Provider 时,面对手里的一把 IP 地址(Invoker 列表),该选哪一个?选好后如果调用失败了怎么办?Cluster 层就是为了解决这些问题而生的。本篇将深入 Dubbo 的集群容错机制,剖析 Failover、Failfast 等策略的源码实现,并揭秘 Router 和 LoadBalance 是如何配合工作的。

1. 核心角色:从“单挑”到“群殴”

在 RPC 层,我们只关注一个 Invoker。但在 Cluster 层,我们关注的是一群 Invoker。

  1. Directory: 目录。即RegistryDirectory,它动态持有所有可用的 Invoker 列表。
  2. Router: 路由。在 Invoker 列表进行负载均衡前,先过滤掉一部分(例如:只调用 version=2.0 的实例,或者只调用同机房的实例)。
  3. LoadBalance: 负载均衡。从 Router 过滤后的列表中,根据算法(随机、轮询等)选出一个。
  4. Cluster: 集群接口。将 Directory 中的多个 Invoker 伪装成一个Invoker(通常是Ab

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询