文档中心>微服务引擎 TSE>云原生 API 网关>迁移指南>从 Spring Cloud Gateway 迁移到云原生 API 网关

从 Spring Cloud Gateway 迁移到云原生 API 网关

最近更新时间:2024-01-19 11:56:21

我的收藏
本文介绍如何将服务从Spring Cloud Gateway迁移到云原生 API 网关。

步骤1:明确服务来源

如果您当前的服务来源为以下几种,可以直接迁移 SCG 配置。
K8S 服务(使用 TKE 或 EKS)。
注册中心服务(使用 TSE 或自建的 Nacos/Consul/Polaris)。
未依赖任何服务发现机制,使用域名/固定 IP/IP列表。
如果您当前的服务来源为其他类型的注册中心,可以先执行相应的迁移操作将服务注册到 Nacos/Consul/Polaris,再进行 SCG 配置迁移。

步骤2:迁移 Spring Cloud Gateway 配置

SCG 相关功能配置可以在控制台进行相应操作完成:
1. 注册中心/K8S 集群
云原生 API 网关通过服务来源关联用户的注册中心或K8s集群,添加对应类型的服务来源后,即可添加相应服务作为网关服务,可参考如下文档进行服务来源配置:服务来源
2. 服务配置
Spring Cloud Gateway的 service 对应云原生 API 网关的服务,可参考如下文档进行服务配置:服务与路由
3. 路由配置
Spring Cloud Gateway的 routes 对应云原生 API 网关的路由,可参考如下文档进行服务配置:服务与路由
4. 常用的 Predicate 配置
Host/Method/Path Route Predicate:云原生 API 网关支持根据Host,Method或Path进行路由匹配,可在创建路由时设置匹配条件。
Header/Cookie/Query Route Predicate:云原生 API 网关支持根据上述参数进行路由,可通过灰度规则实现,可参考以下文档进行配置:灰度发布
5. 默认Filter
Spring Cloud Gateway的 filter 对应云原生 API 网关的配置如下:
GatewayFilter
对应的云原生API网关能力
相关文档
AddRequestHeader, RemoveRequestHeader,
AddRequestParameter,
AddResponseHeader,
SetResponseHeader
使用 tse-proxy-rewrite 插件

Hystrix,
RequestRateLimiter
限流能力
PrefixPath
默认根据前缀匹配方式进行路由匹配
-
PreserveHostHeader, StripPath, Retry
创建路由时支持保持 Host、StripPath 选项、支持设置重试次数
SetPath, RewritePath
使用 Request Transformer/Response Transformer 插件
-
6. 自定义Filter
6.1 认证鉴权
云原生 API 网关支持主流认证鉴权方式,可参考以下文档进行配置。
6.2 自定义Filter
云原生 API 网关支持使用自定义插件进行自定义逻辑处理,您需要编码将自定义Filter的逻辑通过自定义插件实现。详细可参见 自定义插件

步骤3:配置网关监控告警

云原生 API 网关支持查看监控告警,您可以配置相关监控信息掌握当前网关状况,请参考以下文档使用监控告警。

步骤4:流量迁移

在完成上述准备过程后,可按照灰度方式逐步进行流量切换,最终完成流量迁移。
第一阶段:选取部分非核心业务场景配置服务和路由,修改访问地址,进行小规模验证。
第二阶段:逐步扩展至核心业务,对核心业务进行配置变更,并迁移部分核心场景流量。
第三阶段:待充分验证后,切换域名解析进行全量迁移。