关于阿里云:大促场景下如何做好网关高可用防护

4次阅读

共计 2036 个字符,预计需要花费 6 分钟才能阅读完成。

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

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

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

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

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

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

第三点是应答 平安攻打的不确定性。大促期间也通常是黑灰产沉闷的工夫,异样的刷单流量很可能触发限流规定,从而影响失常用户的拜访。基于网关的流量平安防护能力,例如 WAF 等性能,通过辨认出异样流量提前拦挡,以及将异样 IP、cookie 主动退出黑名单等伎俩,既能够使这部分流量排除在限流阈值之外,也能够保障后端业务逻辑平安。这也是大促高可用防护必不可少的一环。

MSE 云原生网关的劣势

架构劣势

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

  • 常见多层网关架构

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

  • MSE 云原生网关架构

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

性能劣势

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

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

ECS 型号:ecs.c7.8xlarge

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

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

平安能力方面,MSE 云原生网关除了集成了 WAF 的性能外,还在插件市场中提供了多种认证和平安防护插件。用户还能够应用多种语言(Golang/JS/Rust/C++ 等)编写本人的 Wasm 插件,实现本人业务场景下非凡的流量认证和防护逻辑,将异样流量在匹配限流规定之前就提前拦挡,防止对失常流量拜访产生影响。

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

点击观看直播回放:

https://yqh.aliyun.com/live/d…

正文完
 0