Kong入门指南 - 5.通过代理缓存提高性能

下载Kong入门指南

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

验证代理缓存

让我们检查代理缓存是否有效。

  1. 使用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
  1. 再次访问/ 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
  1. 为了更快地进行测试,可以通过调用Admin API删除缓存:

使用cURL:

 $ curl -i -X DELETE http://<admin-hostname>:8001/proxy-cache

觉得有帮助,欢迎关注作者,点个“推荐”或“留言”,转给朋友们

posted @ 2020-06-02 12:41  ryan-Z  阅读(2093)  评论(0编辑  收藏  举报