最后更新:
Click to expand / collapse
缓存是加快API运行、减轻服务器负载和提供容错的最有效方法之一。我们实施多层缓存:数据级(Redis)、内容级(CDN)和路由级(Gateway API)。这样可以将响应时间缩短到毫秒,避免拥塞,并在峰值回转时提供稳定性。
我们使用的腰包类型
| 级别 | 工具和优势 |
|---|---|
| Redis / Memcached | 用于存储会话、令牌、查询结果的快速内存插槽 |
| CDN (Cloudflare, Akamai) | 在边缘服务器上散列静态和准静态API响应 |
| API Gateway | TTL控制,回复查询时,无需联系后端的kesh回答 |
当kesh特别有效时
具有相同参数的重复查询
重型计算或长运算的结果
常用参考书、过滤器、公共数据
具有地理分布式交通的多区域应用
为API提供权衡
即时响应重复呼叫
减少数据库和后端的负载
抵御流量激增(例如,在启动促销或更新时)
提高SLA、时间表和响应速度
降低基础架构成本
我们如何实现这一目标
带有事件策略和namespace'ami的Redis配置
使用path、query和headers缓存设置CDN
Gateway级别的滚动(例如使用Kong、Tyk、Amazon API Gateway)
管理TTL、残疾和kesh basting
与指标集成: cache hits/misses,速度,音量
在哪里,特别重要
电子商务和促销服务与尖锐的峰值
具有重复API调用的游戏平台
具有延迟敏感性的移动和SPA应用程序
提供经常可读但很少变化的数据的API