每天响应数亿次请求,腾讯云如何提供高可用API服务?
每天响应数亿次请求,腾讯云如何提供高可用API服务? https://mp.weixin.qq.com/s/OPwlHcqkaTT_gcwHfr5Shw
一、API 网关的定义与职能
有了 API 网关之后,各个 API 服务提供团队可以专注于自己的业务逻辑处理,而其他公共功能可以交给API网关。
3. API 网关需要覆盖哪些功能?
首先做为一个网关,可以处理一些非业务的逻辑,比如安全,流控,请求路由等等。其次能够管理API的全生命周期,包括创建、维护、发布、运行、下线等功能。如下图所示:
二、腾讯云 API 3.0
腾讯云每天有数亿的 API 请求,百万级的用户,数百款产品,为了提供更加安全,规范,易用,高可用的 API 服务,腾讯云 API 应运而生。
腾讯云 API 自 2013 年诞生以来,经过了 1.0->2.0->3.0 的迭代演变,1.0 已经完全退出了历史舞台,2.0 也在逐步退出历史的舞台,腾讯云 API 3.0 (以下简称云API 3.0)经历了 2 年多的发展,已经形成了一整套具备 API 生命周期管理,请求接入,业务聚合,安全可流控的 API 产品,已成为腾讯云的 API 标准。
云 API 的产品形态如下图所示:
提供了控制台,SDK,命令行,小程序,API 等多种接入方式,为 Iaas,Paas,Saas 以及平台服务提供了统一的对外体验。
云 API 包含了云 API 核心框架,云 API 管理系统和云 API 监控运营系统三大模块。系统架构如下图所示:
其中,API 核心框架承载着海量流量的输入输出,流控,协议转换,路由等;API 管理系统是业务录入接口,负责进行 API 全生命周期管理和路由策略配置;API 监控运营系统提供了 API 各种运营数据以及画像。
云 API 3.0 覆盖以下功能:
1. 安全性
HTTPS 支持,保证 API 的安全通讯。有基础的抗 DDos 攻击的能力,采用安全可靠的认证方式,可使用 SecretId + SecretKey 的方式或者 token 的方式进行用户认证。
支持 V1,V3(TC3-HMAC-SHA256)多种签名方案,更加安全,支持内部调用和全程票据功能,进一步加强了安全性。
2. 接口规范
云 API 3.0 制定并落地了统一的接口规范,得到用户的一直好评。之前的云 API 1.0,2.0 没有统一的规范,接口定义百花齐放。比如有的接口使用匈牙利命名法,有的接口使用大小驼峰,有的接口使用全小写如 resource_id。
接口类型也是灵活可变,可以从 int 转成 string,可返回也可不返回,用户的使用体验不统一,也因此遇到很多问题。比如接口名理解门槛高,返回参数和文档不一致无所适从,业务不兼容修改参数造成存量用户调用失败等等。
为此,云 API 3.0 的设计理念就是要充分保证用户的体验,制定了一整套统一的接口的标准规范,使得文档与接口行为必须严格一致,用户不需要根据不同的接口去理解和适配规则,充分保障用户的体验。
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决
· 提示词工程——AI应用必不可少的技术
2018-09-16 后端线上服务监控与报警方案
2018-09-16 架构先行
2018-09-16 数据盘缩容
2017-09-16 singular value decomposition
2017-09-16 协方差矩阵在图像处理之特征脸处理中的应用
2017-09-16 怎么判断矩阵中的方阵可以对角化
2017-09-16 how to add them, how to multiply them