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

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 插件,实现自己业务场景下特殊的流量认证和防护逻辑,将异常流量在匹配限流规则之前就提前拦截,避免对正常流量访问产生影响。

原文链接

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510647.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java Agent 踩坑之 appendToSystemClassLoaderSearch 问题

从 Java Agent 报错开始,到 JVM 原理,到 glibc 线程安全,再到 pthread tls,逐步探究 Java Agent 诡异报错。 背景 由于阿里云多个产品都提供了 Java Agent 给用户使用,在多个 Java Agent 一起使用的场景下&#xff0…

消息队列 RabbitMQ 遇上可观测 - 业务链路可视化

本篇文章主要介绍阿里云消息队列 RabbitMQ 版的可观测功能。RabbitMQ 的可观测能力相对开源有了全面的加强,为业务链路保驾护航。消息队列 RabbitMQ 简介 阿里云消息队列 RabbitMQ 版是一款基于高可用分布式存储架构实现的 AMQP 0-9-1 协议的消息产品,兼…

你的 Sleep 服务会梦到服务网格外的 bookinfo 吗

作为业内首个全托管 Istio 兼容的阿里云服务网格产品 ASM,一开始从架构上就保持了与社区、业界趋势的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立。ASM 产品是基于社区 Istio 定制实现的,在托管的控制面侧提供…

巨人之舞 | Forrester Wave四季度榜单新鲜出炉,云厂商鏖战犹酣

日前,国际权威咨询机构 Forrester 发布《The Forrester Wave:2022 Q4中国公有云开发及基础设施平台(以下简称“PCDIP”)》报告。其中透露出哪些最新行业信息?有何指导意义?企业用户如何借助这份报告&#x…

EventBridge 在 SaaS 企业集成领域的探索与实践

当下降本增效是各行各业的主题,而 SaaS 应用作为更快触达和服务业务场景的方式则被更多企业熟知和采用。随着国内 SaaS 商业环境的逐渐成熟,传统企业中各个部门的工程师和管理者,能迅速决定采购提升效率的 SaaS 产品,然后快速投入…

解密函数计算异步任务能力之「任务的状态及生命周期管理」

前言 任务系统中有一类很重要的概念,即任务的状态和生命管理周期。其本质是对任务的生命周期管理。细分的状态有助于在使用时能够更清楚的了解系统发生了什么内容,便于针对性的根据业务情况进行操作。函数计算 Serverless Task 提供了多种可查询的状态&…

将 Terraform 生态粘合到 Kubernetes 世界

背景 随着各大云厂商产品版图的扩大,基础计算设施,中间件服务,大数据/AI 服务,应用运维管理服务等都可以直接被企业和开发者拿来即用。我们注意到也有不少企业基于不同云厂商的服务作为基础来建设自己的企业基础设施中台。为了更…

照妖镜:一个工具的自我超越

人和动物的最大区别,就是人会使用工具。那么,作为一个工具,如何在用户需求多变、产品功能多样的当下,不断地实现自我超越呢?今天我们就来聊一聊。 一、高开低走 听说天庭第一发明家太上老君,又引入了一条…

云原生混部最后一道防线:节点水位线设计

引言 在阿里集团,在离线混部技术从 2014 年开始,经历了七年的双十一检验,内部已经大规模落地推广,每年为阿里集团节省数十亿的资源成本,整体资源利用率达到 70% 左右,达到业界领先。这两年,我们…

为什么 ChatGPT 会引起 Google 的恐慌?

在 ChatGPT 尚未全面开放使用之际,它散发的巨大威力,似乎已经让行业内的竞争对手感到了威胁。整理 | 屠敏出品 | CSDN(ID:CSDNnews)距离 ChatGPT 上线不足一个月的时间,其已经成为各行各业智囊团中的“网红…

阿里云中间件开源往事

分布式架构和云原生重塑了中间件的游戏规则,这给国内开发者提供了重新定义中间件的历史机遇。 在分布式架构流行前,国外 IT 厂商引领着中间件市场的发展,且以闭源、重商业的服务形式为主;随着云计算和互联网的普及,阿…

一个开发者自述:我是如何设计针对冷热读写场景的 RocketMQ 存储系统

悸动 32 岁,码农的倒数第二个本命年,平淡无奇的生活总觉得缺少了点什么。 想要去创业,却害怕家庭承受不住再次失败的挫折,想要生二胎,带娃的压力让我想着还不如去创业;所以我只好在生活中寻找一些小感动&…

Serverless实战 - 2分钟,教你用Serverless每天给女朋友自动发土味情话

一、Serverless简介 Serverless,中文意思是“无服务器”,所谓的无服务器并非是说不需要依靠服务器等资源,而是说开发者再也不用过多考虑服务器的问题,可以更专注在产品代码上,同时计算资源也开始作为服务出现&#xf…

如何实现一个 Paxos

Paxos 作为一个经典的分布式一致性算法(Consensus Algorithm),在各种教材中也被当做范例来讲解。但由于其抽象性,很少有人基于朴素 Paxos 开发一致性库,而 RAFT 则是工业界里实现较多的一致性算法,RAFT 的论文可以在下面参考资料中…

比 Bloom Filter 节省25%空间!Ribbon Filter 在 Lindorm 中的应用

1 前言 Lindorm是一个低成本高吞吐的多模数据库,目前,Lindorm是阿里内部数据体量最大,覆盖业务最广的数据库产品。超高的性能和低RT一直是Lindorm追求的目标,因此Lindorm也在不断地优化和迭代,争取在每个小点上都做到…

阿里云云原生一体化数仓 — 数据治理新能力解读

一、数据治理中心产品简介 阿里云DataWorks:一站式大数据开发与治理平台 架构大图 阿里云 DataWorks定位于一站式的大数据开发和治理平台,从下图可以看出,DataWorks 与 MaxCompute、Hologres 等大数据引擎紧密配合,在数据的 采、…

入门即享受!coolbpf 硬核提升 BPF 开发效率

编者按:BPF 技术还在如火如荼的发展着,本文先通过对 BPF 知识的介绍,带领大家入门 BPF,然后介绍 coolbpf 的远程编译(原名 LCC,LibbpfCompilerCollection),意为酷玩 BPF,…

拥抱开放,Serverless 时代的下一征程

Serverless 作为云计算的最佳实践和未来演进趋势,其全托管免运维的使用体验和按量付费的成本优势使得它在云原生时代备受推崇。Serverless 的使用场景也由事件驱动,数据处理等部分特定场景转向更为广泛通用化的 WEB,微服务,AI&…

云原生混部系统 Koordinator 架构详解

混部技术的介绍和发展 混部的概念可以从两个角度来理解,从节点维度来看,混部就是将多个容器部署在同一个节点上,这些容器内的应用既包括在线类型,也包括离线类型;从集群维度来看,混部是将多种应用在一个集…

全链路灰度在数据库上我们是怎么做的?

什么是全链路灰度? 微服务体系架构中,服务之间的依赖关系错综复杂,有时某个功能发版依赖多个服务同时升级上线。我们希望可以对这些服务的新版本同时进行小流量灰度验证,这就是微服务架构中特有的全链路灰度场景,通过…