Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: lua модуль
On 04.06.2013 20:44, Anton Yuzhaninov wrote:
есть какие-то вещи, которые нельзя сделать с помощью встроенного
perl-модуля, но можно сделать с помощью этого стороннего lua-модуля?
Есть.
Используя встроенный perl можно выполнять операции, которые не
блокируются и имеет очень ограниченный доступ к функциям nginx (см.
http://nginx.org/en/docs/http/ngx_http_perl_module.html#methods)
LUA модуль позволяет делать многое из того, что можно сделать написав
модуль к nginx на C. Например он позволяет делать подзапросы.
Обратная сторона такой гибкости - сложность самого LUA-модуля и как
следствие баги в нём.
но не смотря на возможные баги в нем - почему-то все больше народу
начинают использовать nginx+lua в своих проектах и сервсиах, например:
http://blog.cloudflare.com/cloudflares-new-waf-compiling-to-lua
http://blog.cloudflare.com/pushing-nginx-to-its-limit-with-lua
учитывая, что у lua более простой синтаксис, чем у perl
может быть имеет смысл "из коробки" встроить lua в nginx?
если не сейчас, то может быть в версии nginx 2.0 ?
nginx+lua может быть достойной альтернативой node.js
(по крайней мере, в ядра netbsd и linux этот язык уже встроили -
про linux: http://www.opennet.ru/opennews/art.shtml?num=36991)
lua лучше чем javascript подходит для встраивания в nginx,
вот: http://www.inf.puc-rio.br/~roberto/talks/www2013.pdf
тогда уж точно можно будет программировать "на конфигах nginx".
и модуль rewrite тогда можно будет реализовать используя lua.
Программировать "на конфигах nginx" в общем случае не очень хорошая идея
и в большинстве случаев приводит к запутанным и плохо работающим
конфигах, в которых кроме их писателя никто не разберется.
я не совсем точно выразился. не "на конфигах nginx",
а с помощью скриптового языка, который будет встроен в nginx.
сам код скрипта на lua может быть вынесен во внешний файл,
как это происходит, например, в случае с модулями на perl.
"One project that's now almost entirely written in Lua
is the new CloudFlare WAF" - хотя могли и на С написать.
--
Best regards,
Gena
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://mailman.nginx.org/mailman/listinfo/nginx-ru
|