如何通过Kong API网关使用Redis

时间:2018-09-03 11:24:53

标签: redis api-gateway kong

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

1 个答案:

答案 0 :(得分:1)

我认为您可能正在尝试同时做几件事。

首先,限制速率:您的config.policy参数的值是多少? Kong documentation具有三个值:“ local(计数器将存储在本地内存中的节点上),cluster(计数器存储在数据存储中并在节点之间共享)和{ {1}}(计数器存储在Redis服务器上,并且将在节点之间共享)。“

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

另一个问题是关于缓存:Kong Enterprise有一个built-in caching plugin,但对于Kong Community,由于它基于Nginx构建,因此可以使用Nginx进行缓存。 This link可能会对您有所帮助。