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 云原生网关高可用防护实战

点击观看直播回放:

yqh.aliyun.com/live/detail…