基于条件的流量路由

Spring Boot

路由是 Dubbo 中的核心流量管控机制, 我们可以基于它实现金丝雀发布、按比例流量转发、同区域优先、全链路灰度等流量策略。Dubbo 中路由(Router)机制的设计与基本原理,内置的几种路由规则

常用流量管控场景

Dubbo 内置的流量策略非常的灵活,但同时也有一定的理解与使用成本,因此,我们根据总结了一些常用的使用场景,并给出了配置方法:

场景效果作用对象说明
超时时间
访问日志
调用重试

接下来,我们就以一个条件路由为例,来看一下如何使用 Dubbo 流量管控机制。

一个条件路由示例

需求非常的直观明了。

  • 匹配这个条件的流量,转发到这一批机器
  • 匹配另一个条件的流量,转发到另一批机器

这在 Dubbo 中就是用 条件路由 来实现的,关于其详细工作原理我们在介绍中有详细讲解。 在以上示例中,xxx 代表;yyy 代表

我们需要把规则下发到运行中的dubbo sdk,在 dubbo 体系中这是如下如下工作的。

一个 zk/nacos、下发一条规则,dubbo实例接收到规则推送,rpc调用过程中应用规则筛选,选出地址子集调用

注意

传统 Nacos/Zookeeper 的微服务部署方案中,Dubbo 的路由规则配置中心存储并转发到 Dubbo SDK,而在 Kubernetes Service 或服务网格场景下,路由规则的存储与推送机制会有一些变化,具体请参考 Kubernetes 最佳实践

这时,如果我们对 xxx 服务发送一个请求,

有一点非常

更多内容

最后修改 September 13, 2024: Refactor website structure (#2860) (1a4b998f54b)