如何在kong api网关中使用redis

Div*_*ivy 2 redis kong api-gateway

我们使用 kong api 网关作为所有 api 的单一网关。我们的api很少(1500-2000ms)面临延迟问题。后来当我们检查时,由于“速率限制”插件,正在创建延迟。当我们禁用插件时,延迟会得到改善,并且响应与我们直接从 IP 获得的响应相同(接近 300 毫秒)。我正在尝试设置 redis 节点来缓存数据库查询,我不确定我们如何配置 kong 以从 redis 本身读取。我们如何将数据库查询缓存到 redis 节点。我们正在为 kong 使用 postgresql。

小智 7

我想也许你正试图同时做几件不同的事情。

首先,限速:你的config.policy参数值是多少?所述孔的文档具有三个值:“ local(计数器将在本地存储器内的节点上存储的), cluster(计数器被存储在数据存储和共享跨节点)和redis(计数器被存储在Redis的服务器上,并且将整个被共享节点)”。

如果您看到高延迟,并且您config.policy设置为clusterredis,则可能是由于 Kong 和 postgres/redis 之间的延迟(取决于您使用的策略)。如果您只是为了防止滥用而使用速率限制,则使用“本地”策略会更快。(在 Kong 文档中有更多关于此的信息。)

另一个问题是关于缓存:Kong Enterprise 有一个内置的缓存插件,但是对于 Kong Community,因为它是建立在 Nginx 之上的,所以您可以使用 Nginx 进行缓存。此链接可能对您有所帮助。