最後更新:
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