码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-06-02 12:58:39      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:启用   options   plugins   重复   实体   超时   时间   --   key   

在本文中,您将学习如何使用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入门指南 - 通过代理缓存提高性能

标签:启用   options   plugins   重复   实体   超时   时间   --   key   

原文地址:https://www.cnblogs.com/jerryqm/p/13030544.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!