• Kong入门指南


    下载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
    

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

  • 相关阅读:
    Lambada. 计算和
    adb server version (31) doesn't match this client (39) 解决方案
    python爬虫beautifulsoup4系列2
    python爬虫beautifulsoup4系列1
    利用Python攻破12306的最后一道防线
    python自动化17-JS处理滚动条
    python多线程
    python接口自动化2-发送post请求
    python接口自动化1-发送get请求 前言
    jenkens其实是代码上传工具
  • 原文地址:https://www.cnblogs.com/jerryqm/p/13030544.html
Copyright © 2020-2023  润新知