Serverless 应用引擎中,sae 的微服务有没有类似Spring cloud gateway的类似功能?
有的,我们近期会在sae的网关路由支持mse微服务网关类型,应该能满足你的需求。此回答整理自钉钉群“【2群】Serverless应用引擎(SAE)用户群”。
有的,Serverless应用引擎(SAE)提供了微服务网关(Gateway)功能,可以实现类似Spring Cloud Gateway的功能。微服务网关可以为微服务提供统一的入口和出口,可以实现动态路由、流量控制、请求识别等功能。在SAE中,您可以通过以下步骤配置微服务网关:
在阿里云Serverless应用引擎(SAE)中,虽然没有明确的类似于Spring Cloud Gateway的功能组件,但您可以使用其他方式来实现类似的需求。例如,您可以使用API网关来处理外部请求并将其分发到内部服务,以此实现流量控制和请求路由。此外,Zuul是Netflix OSS中的一员,它是一个基于JVM路由和服务端的负载均衡器,也可以作为您的选择。
有的,线上场景:基于自建Spring Cloud Gateway或Zuul网关实现全链路灰度
https://help.aliyun.com/zh/sae/use-cases/online-scenario-perform-an-end-to-end-canary-release-by-using-self-managed-spring-cloud-or-zuul-gateways?spm=a2c4g.11186623.0.i68
本文通过示例演示如何在SAE上实现全链路灰度发布, 可以在不需要修改您的任何业务代码的情况下,实现全链路流量控制。
准备工作
本文通过示例为您演示ALB网关全链路灰度功能。假设应用的架构由ALB网关以及后端的微服务架构(Spring Cloud)组成,后端调用链路有3个微服务:购物车(A)、交易中心(B)、库存中心(C),可以通过客户端或HTML来访问后端服务,这些服务之间通过Nacos注册中心实现服务发现。
部署SAE Demo应用
下载Demo。
部署主干链路应用。
部署主干链路应用(A、B、C)。具体操作,请参见将Spring Cloud应用托管到SAE。
部署灰度链路应用(A-gray、B-gray、C-gray),在启动命令中添加启动参数-Dalicloud.service.tag=gray用于区别主干链路应用。
说明
部署时,如果需要使用独立的注册中心,需要添加启动参数-Dnacos.use.endpoint.parsing.rule=false -Dnacos.use.cloud.namespace.parsing=false。
部署Spring Cloud Gateway或Zuul网关
应用可以使用相同域名,通过不同路径流量转发实现请求路由分发。具体操作,请参见为应用配置网关路由(CLB)。
为流量配置特定Header实现全链路灰度
有些客户端无法改写域名,希望能在访问www.base.com时,通过传入不同的Header来路由到灰度环境。例如下图中,通过添加x-mse-tag:gray这个Header,来访问灰度(gray)环境。
是的,Serverless 应用引擎 SAE 提供了类似 Spring Cloud Gateway 的功能。您可以通过在 SAE 应用中配置路由规则,将外部请求路由到不同的服务实例。此外,SAE 还提供了负载均衡、流量控制、安全组等功能,可以帮助您更好地管理微服务架构
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。