有奖捉虫:办公协同&微信生态&物联网文档专题 HOT

概述

服务路由功能是指用户根据符合自己特定要求的属性选择服务的提供者,对服务间流量的分配起到掌控的作用。为了满足客户的定制化需求,TSF 支持用户定制自己的路由标签,并支持选择不同的逻辑形式配置标签值,定向分配流量。 总而言之,服务路由功能的主要作用是将调用流量按照自己的需求进行分配。

应用场景

场景1:用户在使用 TSF 运行自己的业务时,由于业务的复杂程度,经常需要部署数目庞大的服务运行在现网环境中。这些服务运行在属性不同的实例上、部署在不同的地域中,用户经常需要根据符合自己特定要求的属性选择服务的提供者,对服务间流量的分配起到掌控的作用。
场景2:在微服务的场景下,用户研发新版本上线的迭代周期越来越快,稳定敏捷的上线新版本需要微服务框架能够支持灰度发布、金丝雀发布、滚动发布等发布方式。通过服务路由功能,用户可以配置流量分配权重,设置某些权重的流量被分配到某个版本号中,为灰度发布等上线模式提供了无需终止服务的底层能力支持。
以下视频将为您介绍 TSF 的服务路由功能:


服务路由原理

要实现服务路由需要完成两部分操作:
在控制台上,给服务端(服务提供者)设置路由规则。
客户端(服务消费者)获取路由规则, 根据规则来分发请求。
user -> shop -> promotion为例说明服务路由的原理,三个服务特点如下:
user:Spring Cloud 应用,使用路由 SDK。
shop:Mesh 应用,有两个版本 v1 和 v2.0-beta。
promotion:Spring Cloud 应用,有两个版本 v1 和 v2.0-beta。
服务调用和路由情况如下图所示。用户需要在控制台创建如下路由规则:
shop 服务详情页中配置路由规则:90%的流量分配到 v1 版本,10%的流量分配到 v2 版本。
promotion 服务详情页中配置路由规则:服务名等于 shop 且版本号为 v1 的流量100%分配到 v1 版本,服务名等于 shop 且版本号为 v2 的流量100%分配到 v2 版本。