从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

薪资倒挂
• 阅读 2025

简介: 本节课程包含三部分内容:单应用的负载均衡配置、多应用的路由策略配置以及自建微服务网关。

从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

作者 | 落语 阿里云云原生技术团队

本文整理自《Serverless 技术公开课》,“Serverless”公众号后台回复“入门”,获取 Serverless 系列文章 PPT。

流量管理从面向实例到面向应用

从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

在 Serverless 场景下,由于弹性能力以及底层计算实例易变的特性,后端应用实例需要频繁上下线,传统的 ECS 场景下的负载均衡管理方式不再适用。

SAE 产品提供给用户面向应用的流量管理方式,不再需要关心弹性场景以及发布场景的实例上下线,仅仅需要关心监听的配置以及应用实例的健康检查探针,将面向实例的复杂配置工作交给 SAE 产品。

单应用的负载均衡配置

从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

对于单个应用,SAE 产品支持将应用服务通过公网或私网 SLB 实例监听暴露,目前支持仅支持 TCP 协议。考虑到传统的 HTTP 类型应用存在 HTTPS 改造的需求,SAE 还支持配置 HTTPS 监听,让 HTTP 服务器无需修改就能够对外提供 HTTPS 服务。

公网 SLB 用于互联网客户端访问,会同时产生规格费与流量费用;私网 SLB 用于 VPC 内客户端访问,会产生规格费用。

为了让 SAE 产品能够准确控制实例上下线时机,用户需要在部署时正确地配置探针,避免业务出现损失。

多应用的路由策略配置

从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

大中型企业在实践中,常常会将业务拆分成不同的应用或者服务,例如将登陆服务、账单服务等关联度较高的部分,单独拆分为应用,独立进行研发以及运维,再对外通过统一的网关服务进行暴露,对用户来说就像使用单体应用一样。

SAE 提供基于 SLB 实例的网关,将流量按照域名以及 HTTP Path 转发到不同的应用的实例上,从功能上对标业界的 Nginx 网关。

公网 SLB 实例实现的网关用于互联网客户端访问,会同时产生规格费与流量费用;私网 SLB 实例实现的网关用于 VPC 内客户端访问,会产生规格费用。

自建微服务网关

从零入门 Serverless | SAE 场景下,应用流量的负载均衡及路由策略配置实践

对于微服务场景中常见的微服务网关,SAE 并没有提供产品化的支持,但用户依然可以自由发挥,在 SAE 中部署自建的微服务网关。

实践中,微服务网关也可以作为一个应用,部署到 SAE 中。微服务网关会根据用户自定义的配置,将业务流量转发到提供微服务的实例中。微服务网关作为应用,也是可以通过 SLB 实例对公网以及私网暴露服务。

结语

不管是传统的单应用场景,还是拆分后的多应用场景,以及现在比较流行的微服务场景,在流量管理以及路由策略上,SAE 产品都提供了完整的解决方案,依赖可靠的云产品提供基础网络设施,并尽可能地降低用户的使用成本。用户只需要极低的学习成本,即可在 SAE 控制台白屏化管理自己的流量,或者部署自建的网关应用。

原文链接
本文为阿里云原创内容,未经允许不得转载。

点赞
收藏
评论区
推荐文章
Easter79 Easter79
4年前
springboot2.0下的zuul路由网关初探
Zuul作为微服务系统的网关组件,用于构建边界服务,致力于动态路由、过滤、监控、弹性伸缩和安全。为什么需要ZuulZuul、Ribbon以及Eureka结合可以实现智能路由和负载均衡的功能;网关将所有服务的API接口统一聚合,统一对外暴露。外界调用API接口时,不需要知道微服务系统中各服务相互调用的复杂性,保护了内部微服务单元的API接口;网关可以做
Stella981 Stella981
4年前
Spring Cloud套件
SpringCloud提供的服务  配置管理服务注册服务发现断路器负载均衡智能路由服务间调用一次性令牌微代理思维导图模板全局锁控制总线分布式式会话集群状态领导选举分布式消息  子项目功能说明SpringCloudConfig配置中心,利用git来集
Wesley13 Wesley13
4年前
LNMP架构之负载均衡及HTTPS相关配置
本文索引:Nginx负载均衡ssl原理生成ssl密钥对Nginx配置sslNginx负载均衡负载均衡原理上就是代理,只不过通过设置多个代理服务器来实现多用户访问时的负载均衡。同时也可以在某个代理服务器无法访问时,切换到另外的代理服务器,从而实现访问不间断的目的。下面以qq.com为例
Easter79 Easter79
4年前
SpringCloud系列——Zuul 动态路由
  前言  Zuul是在SpringCloudNetflix平台上提供动态路由,监控,弹性,安全等边缘服务的框架,是Netflix基于jvm的路由器和服务器端负载均衡器,相当于是设备和Netflix流应用的Web网站后端所有请求的前门。本文基于上篇(SpringCloud系列——Ribbon负载均衡(https://www.
Stella981 Stella981
4年前
QPS 提升60%,揭秘阿里巴巴轻量级开源 Web 服务器 Tengine 负载均衡算法
前言在阿里七层流量入口接入层(ApplicationGateway)场景下,Nginx官方的SmoothWeightedRoundRobin(SWRR)负载均衡算法已经无法再完美施展它的技能。Tengine通过实现新的负载均衡算法VirtualNodeSmoothWeightedRoundRobin(VNSWRR)不
Stella981 Stella981
4年前
Nepxion Discovery Agent
前言基于SpringCloud的全链路灰度蓝绿发布功能,其中一个场景是,基于Header传递的全链路灰度路由,采用配置中心配置路由策略映射在网关或者服务上,支持根据用户自定义Header跟路由策略整合,最终转化为路由Header信息而实现,路由策略传递到全链路服务中。这是一个非常普遍的需求,但如果业务方用了服务之间异步调用的方式,会导致存储在Th
Easter79 Easter79
4年前
SpringCloud之zuul搭建
一、zuul简介Zuul的主要功能是路由和过滤器。路由功能是微服务的一部分,比如/api/user映射到user服务,/api/shop映射到shop服务。zuul实现了负载均衡。zuul有以下功能:AuthenticationInsightsStressTestingCanaryTesting
Stella981 Stella981
4年前
Atlas 安装和配置
这两天在学习mysql的读写分离和负载均衡,尝试了主从模式和mysqlcluter,最后还是选择了一主多从,然后读写分离,这比较适合读量大的网站。然后对于mysql的负载均衡器,起先尝试了一下SQL请求路由器Amoeba(http://www.oschina.net/p/amoeba),读写分离不错,但是不支持事务,因为我测试的网站是采取spring
Wesley13 Wesley13
4年前
mysql中间件
一.分类为:负载均衡类和数据切分类1.负载均衡中间件提供了请求的转发,降低了单节点的负载,如haproxy,mysqlproxy,mysqlrouter2.数据切分中间件按照不同的路由算法分发sql语句就形成了数据切分,如mycat,atlas,oneproxy,proxysql1.mycatA.开源免费
Stella981 Stella981
4年前
Google、IBM和Lyft开源的微服务管理框架Istio安装与试用
Istio是Google、IBM和Lyft联合开源的微服务ServiceMesh框架,旨在解决大量微服务的发现、连接、管理、监控以及安全等问题。Istio的主要特性包括:HTTP、gRPC和TCP网络流量的自动负载均衡丰富的路由规则,细粒度的网络流量行为控制流量加密、服务间认证,以及强身份声明全范围(Fleet
负载均衡详解
负载均衡(LoadBalancing)是一种将网络流量或请求分发到多个服务器或资源的技术,以确保这些服务器或资源能够更均匀地处理负载,提高系统的性能、可用性和可伸缩性。负载均衡通常应用于Web服务、应用程序服务器、数据库服务器以及其他网络应用中。