乐趣区

关于api:百万并发API-网关抗住了亚运会流量高峰

1. 背景

2023 年杭州亚运会给大家留下了美妙的回顾,过后各种线上线下的流动和赛事也将热火朝天地开展,与亚运会相干的利用和服务迎来流量顶峰。作为亚运会所有外围流量的入口,阿里云 API 网关的重要性显而易见。为了确保 API 网关可能稳固、高效地解决大量的并发申请,阿里云推出了一款百万并发规格的 API 网关,为亚运会提供弱小的技术支持。

百万并发规格的 API 网关,是咱们专门针对高并发场景进行优化和降级的产品。它采纳了先进的技术架构和算法,可能无效地解决大量的并发申请,保障 API 网关的稳定性和可靠性。同时,它还反对 API 级别的流控、热点数据缓存、多种平安机制,包含 API 受权与鉴权、流量管制等,可能无效地爱护亚运相干业务零碎的安稳运行。

API 网关将所有通过 API 网关的调用日志同步到用户本人的 SLS 日志服务中去,通过 SLS 日志服务能够进行实时日志查问、下载、多维度统计分析等,并且能够配置基于日志的报警策略;API 会主动将调用日志同步给阿里云云监控产品,用户能够在云监控产品上间接配置报警规定,监控报警的指标包含:Http 应答码,API 响应工夫,申请次数,流入流量,流出流量。用户能够配置将调用日志上传到阿里云链路追踪平台,剖析全链路调用状况。链路追踪 Tracing Analysis 提供了残缺的调用链路还原、调用申请量统计、链路拓扑、利用依赖剖析等工具,能够帮忙用户进步开发诊断效率。

2. 冲破 100 万 RPS 具备弹性能力的实例集群

API 网关当初反对应用专享实例组建专享实例集群,冲破最大规格专享实例的并发限度。API 网关以后能够提供的专享实例可能反对的最大能力无限,当最大规格的专享实例为 6 万 RPS 的实例,在一些大型场景下还无奈满足用户的应用须要,API 网关在近期为用户提供了专享实例集群产品能力,专享实例集群可能依据用户对服务性能的需要进行缩容和扩容,冲破网关能够反对的最大规格下限,在亚运会我的项目中为客户提供了冲破了 100 万 RPS 的服务能力,满足用户更高并发的业务场景。API 网关提供的实例集群,具备灵便伸缩的能力,能够实时扩容和缩容,实践上只有底层资源足够,API 网关的实例集群具备有限扩容的能力。

3. 性能优良

阿里云的 API 网关除了能够为用户提供有限扩容的专享实例外,自身性能优良,耗时极低,在性能上和容量上彻底打消后顾之忧。

性能是所有 API 网关的一个十分外围的一个指标,所有业务申请都须要过 API 网关,API 网关的性能会是整个零碎性能指标的的十分要害的一环。阿里云 API 网关商业化后在私有云对公众用户提供服务七年无余,在性能上做个屡次大幅度的优化,能够给大家分享一个 2023 年统计的一个专享实例的要害性能指标:98.17% 的申请在 API 网关耗时在 1 毫秒以内,API 网关均匀耗时在 1ms 以内。

4. 流量管制

流控是 API 网关最根底的能力,无论用户的业务 API 还是 AI 的 API 都须要有流控的爱护。阿里云 API 网关容许用户依据后端系统最大承受能力设置流量阈值,当客户端申请总量超过阈值时,网关把多出的申请间接驳回,保障后端服务不会遇到过载申请的状况。API 网关容许用户通过多个维度对申请进行流控,能够对 API,App(拜访凭证),用户(拜访方的 App 归属用户)三个维度进行秒、分钟、小时、天等工夫维度进行流控,API 网关同时提供针对申请中自定义参数这个维度的限流,申请的任意一个参数都能够成为流控的锚定值,比方用户能够指定申请中的 IP 头作为流控锚定值,那么能够通过 API 网关的流控能力轻松管制每个 IP 的申请 RPS。

5. 受权与鉴权

不同的 AI 能力提供者对用户派发了不同的拜访凭证,调用不同的 AI 提供者的 API 的鉴权形式各有不同。用户能够将这些复杂度通通在阿里云的 API 网关配置上,对其调用者提供对立的鉴权形式。用户能够通过 API 网关为不同的用户生成不同的拜访凭证,并且为这些拜访凭证设置有效期,也能够在 API 网关控制台随时删除指定的拜访凭证。

阿里云 API 网关除了为用户提供拜访凭证类型的鉴权形式,还提供了规范的 JWT 的鉴权形式,用户能够通过颁发 Token 的形式对调用者进行动静鉴权,并且能够通过治理 API 网关的插件数据集形式来 Block 曾经颁发的 Token。

阿里云 API 网关还提供了灵便的第三方鉴权的能力,用户配置本人的鉴权服务为 API 的拜访进行鉴权,API 网关在调用 API 后端服务之前先调用用户的鉴权服务,收到鉴权服务的鉴权胜利应答后才会持续调用后端服务,否则给客户端返回鉴权失败的应答。

6. 日志监控与报警

6.1 SLS 日志同步与监控报警

用户能够通过配置,将所有通过 API 网关的调用日志同步到用户本人的 SLS 日志服务中去,通过 SLS 日志服务您能够进行实时日志查问、下载、多维度统计分析等,您也能够将日志投递到 OSS 或者 MaxCompute 进行远期备份或深度剖析。用户还能够应用这些日志作为日志审计的数据源,日志审计是法律刚性需要,是客户平安合规依赖的根底,是一些我的项目的必选项,能够轻松通过配置实现。用户除了能够在日志中看到调用的根本信息,包含域名、调用者身份、调用耗时,应答状态码等根本信息外,还能够配置记录整个申请和应答,便于排查问题。

6.2 集成云监控

API 会主动将调用日志同步给阿里云云监控产品,用户能够在云监控产品上间接配置报警规定,监控报警的指标包含:Http 应答码,API 响应工夫,申请次数,流入流量,流出流量。如果须要对该 API 分组下的所有 API 利用雷同的报警规定,进入 API 分组详情页,点击详情页右上角的开启云监控。云监控报警可设置多级报警,阈值处于不同区间时,对应 Critical、Warning、Info 三个不同级别,不同级别通过不同渠道发送报警告诉。

6.3 全链路追踪平台

用户能够配置将调用日志上传到阿里云链路追踪平台,剖析全链路调用状况。链路追踪 Tracing Analysis 提供了残缺的调用链路还原、调用申请量统计、链路拓扑、利用依赖剖析等工具,能够帮忙用户进步开发诊断效率。

配置好之后,就能够在全链路追踪平台上看到整个调用链每个节点的耗时状况了:

7. 对接微服务体系

API 网关除了通过用户配置的后端业务零碎的地址和后端业务零碎进行通信外,同时反对从用户的微服务注册核心实时动静感知后端业务零碎的服务地址,并进行点对点通信。

API 网关可能集成多种微服务注册核心,从而与微服务架构深刻交融,升高零碎的耦合度并进步程序的可管理性。网关可作为微服务零碎的申请入口,负责所有客户端的接入、申请的路由和转发、以及保障微服务利用的平安和稳固。

微服务的注册核心,能够接管微服务业务零碎的注册申请,并将业务零碎的服务地址保留在注册表中。API 网关集成微服务的注册核心,如下图所示,网关作为服务的订阅者,能够从微服务的注册核心获取业务零碎的服务地址、端口等信息,并依据地址和端口将申请散发到后端的多个业务零碎的服务节点中,从而实现动静路由和负载平衡。

API 网关目前曾经可能反对三种支流的微服务注册核心:

  • Nacos
  • Zookeeper
  • Eureka

8. 总结

API 网关是阿里云的一款在线上安稳运行六年多的成熟云产品,为宽广用户提供规范的高性能网关服务,它为用户提供 API 托管服务,笼罩设计、开发、测试、公布、售卖、运维监测、平安管控、下线等 API 各个生命周期阶段。阿里云 API 网关为用户提供了标准化的百万级 RPS 规格的专享实例,可能服务更多规模的业务零碎,特地在本次亚运会中抗住了流量顶峰,稳固、高效地解决大量的并发申请。

API 网关解决在容量上能够提供超大规格的实例外,在性能上也体现优异,耗时极低,本身均匀耗时在 1ms 以内。API 网关除了可能提供支流的流控、鉴权等根底能力外,还集成了微服务网关的注册核心,可能与各种微服务架构实现交融,能为更多业务场景提供服务。

原文链接

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

退出移动版