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

Posted jerryqm

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Kong入门指南 - 通过代理缓存提高性能相关的知识,希望对你有一定的参考价值。

在本文中,您将学习如何使用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


以上是关于Kong入门指南 - 通过代理缓存提高性能的主要内容,如果未能解决你的问题,请参考以下文章

Kong 入门指南 - 总览

Kong 入门指南 - 总览

X-Cache-Status 始终使用 Kong 代理缓存插件绕过

http缓存提高性能

5.Kong入门与实战 基于Nginx和OpenResty的云原生微服务网关 --- Kong 的配置详解

Kong 1.3发布,原生gRPC代理上游TLS交叉认证