当前位置: 首页 > 知识库问答 >
问题:

如何将redis与kong api网关一起使用

张高义
2023-03-14

我们使用Kong api网关作为所有api的单一网关。我们面临着一些api(1500-2000毫秒)的延迟问题。后来当我们检查时,延迟是由于“速率限制”插件而产生的。当我们禁用插件时,延迟会提高,响应与我们直接从IP获得的响应相同(约300毫秒)。我试图设置redis节点来缓存数据库查询,我不确定我们如何配置Kong从redis本身读取。我们正在为Kong使用postgreql。

共有2个答案

严兴言
2023-03-14

有一个社区自定义插件,可以使用redis缓存,而不需要使用Kong Enterprise-

也许你可以将其与速率限制结合起来,以获得所需的延迟性能,或者使用此插件作为灵感。

胡厉刚
2023-03-14

我想也许你想同时做两件不同的事情。

首先,速率限制:您的config.policy参数的值是多少?Kong留档有三个值:本地(计数器将本地存储在节点的内存中),集群(计数器存储在数据存储中并在节点之间共享)和redis(计数器存储在Redis服务器,并将跨节点共享)。"

如果您看到高延迟,并且您的config.policy设置为群集redis,这可能是由于Kong和postgres/redis之间的延迟(取决于您使用的策略)。如果你只是为了防止滥用而使用利率限制,使用“本地”政策会更快。(在香港留档有更多关于这个的信息。)

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

 类似资料:
  • 我正在将我的Spring应用程序从Spring-boot 1.5.9迁移到Spring-boot 2.0.0。使用这个新的Spring包,我在Redis中缓存数据时遇到了一些问题。 在我的配置中,我有3个具有不同TTL(长、中、短)的CacheManager: 我还有一个自定义RestTemplate: 在上一个Spring版本中,缓存的每个数据都使用这个RestTemplate,并使用Gener

  • 我在Ubuntu 14.04中安装了phpbrew以使用PHP5.4。它工作得很好,但当我尝试使用composer时除外,composer会忽略phpbrew并安装与PHP5.5相关的依赖项。 有没有办法强制composer与phpbrew config兼容?我试图在我的作曲家中添加:php:“5.4”。json,但是它说这个要求在我的php版本中是不可能的。

  • 我是Micronaut框架的新手,我正在尝试使用entitymanager创建我的存储库。我这样创建了我的存储库 我使用这个类实现接口并注入entitymanager 问题是我一直有这个错误: PS:我已经启用了注释处理

  • 我正在尝试将composer与我的WampServer一起使用。 我所有文件的路径都是,但当我运行composer时,它会将供应商文件和其他东西安装到其他地方。 我甚至不知道我的项目在哪里,我也不能改变我的项目在哪里的路径。我已经尝试了所有的方法,但它似乎仍然没有在我的项目文件夹中安装供应商文件。

  • API level 28和Google建议使用registerNetworkCallback(NetworkRequest,PendingIntent)不推荐CONNECTIVITY\u操作。 我尝试使用ConnectionManager注册了registerNetworkCallback。NetworkCallback和它的工作,但我想使用PendingContent。 让我困惑的是公共空寄存器

  • 问题内容: 当我尝试将Webpack与简单的Express服务器一起使用时,总是会收到大量错误消息: express.js 我得到所有这些错误: 这是我的配置文件: 我该怎么办,我还需要在服务器端使用webpack。 我像这样运行express.js文件: 问题答案: 我最终要做的是,我使用了两种不同的配置,一种用于使用webpack将服务器内容打包在一起,另一种用于将所有浏览器内容打包在一起,并