Как Kong работает над NGINX и OpenResty

Я понял, что NGINX написан на C и имеет плагин lua, который позволяет встраивать в него код lua. OpenResty - это фреймворк, который расширяет это и обеспечивает большую поддержку Lua по сравнению с NGINX. Kong - это конкретное приложение OpenResty. Поэтому, когда мы публикуем новые службы, потребители и т. Д. Все конвертируются в шаблон lua, который компилируется LuaJIT. И если да, значит ли это, что каждый раз, когда я добавляю службу, мой файл nginx.conf перестраивается? Или это что-то вроде того, что при каждом запросе база данных конфигурации kong (или yaml) запрашивается для получения зависимой конечной точки (это было бы очень медленно)? или что-то совсем другое?


person Aayush Agarwal    schedule 27.05.2020    source источник


Ответы (1)


Весь смысл встроенного в nginx языка сценариев, такого как Lua, заключается в том, что вы можете изменять его поведение на лету, не перезагружая всю конфигурацию. Я не знаю, как именно kong обрабатывает вещи, но вы можете просто загрузить новый код Lua во время выполнения, хотя в большинстве случаев этого будет достаточно, чтобы изменить некоторые данные, которые затем код Lua обрабатывает предопределенным образом.

person DarkWiiPlayer    schedule 27.05.2020
comment
Значит, с Lua можно частично перезагрузить двоичные файлы? Это противоположно тому, чтобы построить все заново, но получить разницу только в небольшой части. - person Aayush Agarwal; 27.05.2020
comment
Бинарный файл nginx остается прежним; единственное, что меняется, это код Lua - person DarkWiiPlayer; 28.05.2020