Kong 如何在 NGINX 和 OpenResty 上工作

我所理解的是,NGINX 是用 C 语言编写的,并带有可以将 Lua 代码嵌入其中的 lua 插件。OpenResty 是在此基础上扩展的框架,允许更大范围地支持 Lua。Kong 是一款特定的 OpenResty 应用程序。因此,当我们发布新的服务、消费者等时,所有内容都会转换为 Lua 模板,然后由 LuaJIT 编译。那么,这是否意味着每次我添加服务时,我的 nginx.conf 文件都会重新构建呢?或者是每次请求时都会查询 kong 配置数据库(或 yaml)来获取依赖的端点(这将非常慢)?或者是完全不同的事情?

点赞
用户4984564
用户4984564

拥有像 Lua 这样的脚本语言内嵌于 Nginx 中的整个意义在于,您可以在不必重新加载整个配置的情况下即可实现其行为的更改。我不知道 Kong 如何处理这些事情,但您可以在运行时加载新的 Lua 代码,尽管在大多数情况下,只需更改一些数据,然后 Lua 代码以预定义的方式进行处理即可。

2020-05-27 11:19:15