大促场景下,如何做好网关高可用防护

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 618大促正在如火如荼进行着,如何做好网关高可用防护,是一项艰巨而重要的事情。

《618大促来袭,浅谈如何做好大促备战》一文介绍了全方位保障大促高可用的方法论和技术手段,本文继续围绕网关,深入探讨大促场景下,如何做好网关高可用防护,将从以下几点逐一展开介绍:

  1. 网关做高可用防护的重要性
  2. MSE 云原生网关的“下一代网关架构”,在高可用防护上的巨大优势
  3. 使用 MSE 云原生网关的高可用防护实战(视频演示)

网关做高可用防护的重要性


大促场景下,使用网关做高可用防护为什么重要?一言以蔽之,网关具备将大促的各种不确定性因素转化为确定性因素的能力,并且这种能力是不可替代的。分别从三个方面来看:

第一点是应对流量峰值的不确定性,必须通过限流规则将不确定的流量变为确定。业务服务模块自己做限流很难实现这一点。因为实现限流防护有个前提,承载这突发流量的服务仍能保持正常的 CPU 负载。业务服务模块即使实现了应用层的 QPS 限流,在瞬时高并发场景下,仍可能因为网络层大量的新建连接导致 CPU 猛涨,限流规则也就形同虚设了。业务模块应该专注在应用层业务逻辑上,若要通过扩容去应对其不擅长的网络层开销,所需的资源成本是相当高的。而网关作为业务流量入口的地位,决定了其必须擅长应对高并发的网络流量,并且这块性能也是衡量网关能力的一个重要指标,应对高并发的性能越强,所需的资源成本就越低,将大促流量从不确定变为确定的能力就越强。

第二点是应对用户行为的不确定性,需要根据不同的大促场景,模拟用户行为进行多轮压测演练,提前发现系统的瓶颈和优化点。网关既是用户访问的流量入口,也是后端业务应答的最终出口。这决定了网关是模拟用户行为进行流量压测的必经一站,也决定了是观测压测指标评估用户体验的必须环节。在网关上边压测,边观察,边调整限流配置,对大促高可用体系的建设,可以起到事半功倍的效果。

第三点是应对安全攻击的不确定性。大促期间也通常是黑灰产活跃的时间,异常的刷单流量很可能触发限流规则,从而影响正常用户的访问。基于网关的流量安全防护能力,例如 WAF 等功能,通过识别出异常流量提前拦截,以及将异常 IP、cookie 自动加入黑名单等手段,既可以使这部分流量排除在限流阈值之外,也可以保障后端业务逻辑安全。这也是大促高可用防护必不可少的一环。


MSE 云原生网关的优势


架构优势

MSE 云原生网关实现了流量网关、微服务网关、安全网关三合一的“下一代网关架构”,和常见的多层网关架构对比如下所示:

常见多层网关架构

yuque_diagram.jpg

在这个架构中,用 WAF 网关实现安全能力,SLB 实现负载均衡能力,Ingress 网关实现集群入口网关能力(非 K8s 场景也会部署一层 Nginx),Zuul 实现微服务网关能力。面对大促的突发流量,这样的架构下,需要对每一层网关都进行容量评估,每一层网关都是潜在的瓶颈点,都可能需要进行扩容。这样造成的资源成本和运维人力成本都是巨大的。并且每多一层网关,就多一层可用性风险。

MSE 云原生网关架构

yuque_diagram (1).jpg

使用 MSE 云原生网关,在保留 SLB 作负载均衡的基础上,只通过一层网关就实现了集群入口网关、WAF 网关、微服务网关的全部能力。应对大促场景,运维人员只需专注在 MSE 网关这一层上,就能做好所有入口流量的管理,实现高可用防护。这就是“下一代网关架构”,让一切回归简单,唯有简单方可依赖。


性能优势

如下图所示,MSE 云原生网关的吞吐性能是 Nginx Ingress Controller 的一倍,具体的性能对比分析可以参考《K8s 网关选型初判:Nginx 还是 Envoy?》一文。在大促的洪峰流量面前,网关的性能如果不够好,意味着企业要支付更多的 ECS 资源成本,同时还要为网关本身能否扛住流量操心,一旦“门神”失守,对业务造成的损失是不可估量的。

image.png

网关规格:16 核 32 G * 4 节点

ECS 型号:ecs.c7.8xlarge


能力优势

高可用能力方面,MSE 云原生网关内置了 Alibaba Sentinel 高可用模块,历经多年双十一流量考验,提供了丰富的限流防护能力,包括流控规则、并发规则、熔断规则,可以全面保障后端业务高可用;此外,MSE 云原生网关还具备流量预热能力,通过小流量预热方法,可以有效解决大促场景下,资源初始化慢所导致的大量请求响应慢、请求阻塞问题,避免刚扩容的节点无法提供正常服务,影响用户体验。

image.png

压测便捷性方面,使用阿里云 PTS 的 MSE 网关压测场景,可以轻松发起对指定网关实例的压测。结合 MSE 云原生网关的限流和可观测能力使用,可以边压测,边观察,边调整限流配置,实现一站式的高可用防护体系建设。

image.png

安全能力方面,MSE 云原生网关除了集成了 WAF 的功能外,还在插件市场中提供了多种认证和安全防护插件。用户还可以使用多种语言(Golang/JS/Rust/C++等)编写自己的 Wasm 插件,实现自己业务场景下特殊的流量认证和防护逻辑,将异常流量在匹配限流规则之前就提前拦截,避免对正常流量访问产生影响。

image.png


MSE 云原生网关高可用防护实战

https://yqh.aliyun.com/live/detail/28647

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
3月前
|
安全 算法
Higres 改造传统网关适合什么场景
Higres 改造传统网关适合什么场景
|
6月前
|
Dubbo Java 应用服务中间件
Dubbo第二讲:深入理解dubbo分布式服务框架/负载/容错/调优/高可用/dubbo网关/面试/技术选型
Dubbo第二讲:深入理解dubbo分布式服务框架/负载/容错/调优/高可用/dubbo网关/面试/技术选型
150 0
|
11月前
|
Web App开发
使用VoIP网关的5种不同场景
使用VoIP网关的5种不同场景
|
运维 Kubernetes 安全
解锁ASM网关:一致的规则配置, 多样化的入出口网关场景
作为业内首个全托管Istio兼容的服务网格产品ASM,一开始从架构上就保持了业界领先性、以及与社区发展的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立, 保持高可用部署与稳定性。阿里云ASM产品是基于社区开源的Istio定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力。通过托管模式,解耦了Istio组件与所管理的K8s集群的生命周期管理,使得架构更加灵
210 0
解锁ASM网关:一致的规则配置, 多样化的入出口网关场景
|
运维 Kubernetes 安全
解锁ASM网关:一致的规则配置, 多样化的入出口网关场景
客户告诉我们,他们需要一种更统一的方法来定制、管理和配置端到端安全加密和流量控制,包括在集群内集成北/南流量管理。为了满足这一需求,ASM产品提供了经过客户验证的ASM入口与出口网关功能,并在多集群路由、安全管理、可观测性以及高可用性、软硬一体的性能优化等诸多方面构筑独特的优势, 以让客户更加信赖在生产环境中使用。  以下是对ASM网关功能的一个梳理(持续更新中), 帮助用户在短时间内更好地理解。
458 0
解锁ASM网关:一致的规则配置, 多样化的入出口网关场景
|
Kubernetes Cloud Native 安全
两类常见场景下的云原生网关迁移实践
本文将基于 MSE 云原生网关,介绍两类场景下的云原生网关迁移实践,第一类,是自建 Nginx Ingress 迁移到 MSE,我们提供了不更改原有 SLB,便可实现不停机迁移的能力,控制迁移风险,将对此将展开详细介绍;第二类是传统的微服务网关迁移到 MSE,我们通过提供详细的操作文档来说明。
两类常见场景下的云原生网关迁移实践
|
Kubernetes Cloud Native 安全
两类常见场景下的云原生网关迁移实践
云原生网关将流量网关、微服务网关、安全网关三合一,被誉为下一代网关,完全兼容 Kubernetes Ingress 标准 API,解决了三层网关架构独立设计、独立运维导致的资源消耗大、性能损耗大、稳定性难控、安全防护复杂等难题,相比传统网关,云原生网关在资源成本、性能、安全性和易用性上更有优势。
两类常见场景下的云原生网关迁移实践
|
Kubernetes 负载均衡 Cloud Native
大促场景下,如何做好网关高可用防护
618 大促正在如火如荼进行中。《618大促来袭,浅谈如何做好大促备战》一文介绍了全方位保障大促高可用的方法论和技术手段,本文继续围绕网关,深入探讨大促场景下,如何做好网关高可用防护,将从以下几点逐一展开介绍:网关做高可用防护的重要性、MSE 云原生网关的“下一代网关架构”,在高可用防护上的巨大优势、使用 MSE 云原生网关的高可用防护实战(视频演示)
大促场景下,如何做好网关高可用防护
|
1月前
|
运维 网络协议 安全
长连接网关技术专题(十):百度基于Go的千万级统一长连接服务架构实践
本文将介绍百度基于golang实现的统一长连接服务,从统一长连接功能实现和性能优化等角度,描述了其在设计、开发和维护过程中面临的问题和挑战,并重点介绍了解决相关问题和挑战的方案和实践经验。
78 1
|
5月前
|
负载均衡 应用服务中间件 API
微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
微服务技术系列教程(25) - SpringCloud- 接口网关服务Zuul
58 0