Kong 如何在 NGINX 和 OpenResty 上工作
Posted
技术标签:
【中文标题】Kong 如何在 NGINX 和 OpenResty 上工作【英文标题】:How does Kong work over NGINX and OpenResty 【发布时间】:2020-09-14 09:40:25 【问题描述】:我的理解是 nginx 是用 C 编写的,并且有一个 lua 插件,它允许将 lua 代码嵌入其中。 OpenResty 是一个在此基础上扩展的框架,并允许对 NGINX 提供更多的 Lua 支持。 Kong 是特定的 OpenResty 应用程序。因此,当我们发布新服务、消费者等时,所有内容都会转换为由 LuaJIT 编译的 lua 模板。如果是这样,这是否意味着每次我添加服务时,我的 nginx.conf 文件都会重建? 还是在每次请求时都会查询kong config DB(或yaml)以获取依赖端点(这会很慢)? 还是完全不同的东西?
【问题讨论】:
【参考方案1】:将像 Lua 这样的脚本语言嵌入到 nginx 中的全部意义在于,您可以即时更改其行为,而无需重新加载整个配置。我不知道 kong 究竟是如何处理事情的,但是您可以在运行时加载新的 Lua 代码,尽管在大多数情况下,更改 Lua 代码随后以预定义方式处理的一些数据就足够了。
【讨论】:
那么使用 Lua 可以部分重新加载二进制文件吗?与重新构建整个事物相反,但只会在一小部分有所不同。 nginx 二进制文件保持不变;唯一改变的是 Lua 代码以上是关于Kong 如何在 NGINX 和 OpenResty 上工作的主要内容,如果未能解决你的问题,请参考以下文章
如何在 nginx 入口控制器和 kong 上增加最大请求正文大小