服务流量管理

通过 Dubbo 定义的路由规则,实现对流量分布的控制

流量管理

Dubbo提供了强大的流量管理能力。流量管理的本质是将请求根据制定好的路由规则分发到应用服务上,如下图所示:

What is traffic control

其中:

  • 路由规则可以有多个,不同的路由规则之间存在优先级。如:Router(1) -> Router(2) -> …… -> Router(n)
  • 一个路由规则可以路由到多个不同的应用服务。如:Router(2)即可以路由到Service(1)也可以路由到Service(2)
  • 多个不同的路由规则可以路由到同一个应用服务。如:Router(1)和Router(2)都可以路由到Service(2)
  • 路由规则也可以不路由到任何应用服务。如:Router(m)没有路由到任何一个Service上,所有命中Router(m)的请求都会因为没有对应的应用服务处理而导致报错
  • 应用服务可以是单个的实例,也可以是一个应用集群。

应用场景

Dubbo支持生产上常用的流量应用场景。

蓝绿部署

蓝绿部署是让线上的老版本继续运行,直接部署新版本然后进行测试,当新版本测试通过以后,将流量切到新版本,最后将老版本同时也升级到新版本。整个过程无需停机,风险较小且可控。

AB测试

AB测试是用来测试应用功能的一种方案。通过科学的实验设计、样本采样、流量分割和校验等方式来获得具有代表性的实验结论,并确信该结论再推广到全部流量可信。

金丝雀部署

金丝雀部署是在原有版本可用的情况下,同时部署一个新版本应用作为“金丝雀”,测试新版本的性能和表现,在保障整体系统稳定的前提下,尽早发现、及时调整。


最后修改 June 22, 2021: fix error URL in xml.md (#838) (70f7565)