
Kong入門指南
目錄
1. 總覽
2. 准備管理Kong Gateway
3. 通過Kong Gateway公開您的服務
4. 保護您的服務
5. 通過代理緩存提高性能
6. 使用身份驗證保護服務
7. 設置智能負載平衡
在本文中,您將學習如何使用Kong Gateway的代理緩存插件來使用代理緩存來提高響應效率。
如果您根據入門指南學習,請確保已完成“Kong入門指南 - 保護您的服務 ”學習。
什么是代理緩存?
Kong Gateway通過緩存提供了快速的性能。代理緩存插件使用反向代理緩存實現來提供這種快速性能。它根據請求方法,可配置的響應代碼,內容類型來緩存響應實體,並且可以按消費者或API進行緩存。
緩存實體將存儲一段可配置的時間。達到超時后,Kong Gateway會將請求轉發到上游,對結果進行緩存並從緩存進行響應,直到超時為止。該插件可以在Redis中將緩存的數據存儲在內存中,或提高性能.
為什么要使用代理緩存?
使用代理緩存,以使上游服務不會因重復的請求而面臨請求壓力,而Kong Gateway可以響應緩存的結果。
設置代理緩存插件
在端口上調用Admin API 8001並配置插件以全局啟用內存中緩存,Content-Type的超時時間為30秒application/json。
使用cURL:
$ curl -i -X POST http://<admin-hostname>:8001/plugins \
--data name=proxy-cache \
--data config.content_type="application/json" \
--data config.cache_ttl=30 \
--data config.strategy=memory
驗證代理緩存
讓我們檢查代理緩存是否有效。
- 使用Admin API 訪問/ mock路由,並記下響應標頭。
使用cURL
$ curl -i -X GET http://<admin-hostname>:8000/mock/request
特別是要密切關注的響應頭 X-Cache-Status,X-Kong-Proxy-Latency以及X-Kong-Upstream-Latency:
HTTP/1.1 200 OK
...
X-Cache-Key: d2ca5751210dbb6fefda397ac6d103b1
X-Cache-Status: Miss
X-Content-Type-Options: nosniff
...
X-Kong-Proxy-Latency: 25
X-Kong-Upstream-Latency: 37
- 再次訪問/ mock路由。
這個時候,注意到的響應頭的差異X-Cache-Status,X-Kong-Proxy-Latency和X-Kong-Upstream-Latency。緩存狀態為hit,這意味着Kong Gateway直接從緩存中響應請求,而不是將請求代理到上游服務。
此外,請注意響應中的最小延遲,這使Kong Gateway可以提供最佳性能:
HTTP/1.1 200 OK
...
X-Cache-Key: d2ca5751210dbb6fefda397ac6d103b1
X-Cache-Status: Hit
...
X-Kong-Proxy-Latency: 0
X-Kong-Upstream-Latency: 1
- 為了更快地進行測試,可以通過調用Admin API刪除緩存:
使用cURL:
$ curl -i -X DELETE http://<admin-hostname>:8001/proxy-cache