Fork me on GitHub
#clojure-russia
<
2015-09-10
>
delaguardo02:09:16

Смотрите что нашел - https://github.com/nginx-clojure/nginx-clojure Работал кто-нибудь с ним?

maxp03:09:11

Не совсем понял, они из java приложения запускают свой маленький nginx или как?

niquola04:09:35

Ильшад говорил - что использовал @ilshad

delaguardo04:09:40

@maxp, скорей наоборот, они добавляют в nginx модуль который может запустить java приложения

maxp05:09:20

Я там в java кода заметил всякие штуки типа System.load, slib/+soname и т.п.

maxp05:09:55

Мне, правда, не очень понятно, для чего такую экзотику целесообразно использовать?

ilshad07:09:33

@delaguardo: что с ним сейчас, сказать не могу, т.к. над проектом где это использовал, не работаю. На тот момент представлял интерес как способ делать более умный gateway в системе из множества сервисов. Альтернативы, из тех что поддерживаются и развиваются - Lua-модуль ну и все, пожалуй. Основной недостаток его, как мне показалось - с ним неудобно работать / отлаживать / тестировать / разворачивать. Т.е. нет наработанных практик. Но с тех пор прошел год, надо смотреть что сейчас.

delaguardo07:09:41

@ilshad: спасибо, буду пробовать) меня он как раз и зацепил тем насколько похож на lua-nginx, я с ним как раз активно работаю. Но у него те же самые проблемы - отлаживать / тестировать больно

ilshad07:09:26

расскажешь потом!

delaguardo07:09:26

прямо сейчас могу сказать, что проект, который у меня через monit стартовал, без всяких проблем завелся через clojure-nginx. Только указал параметры JVM, путь до jar-ника и хэндлер. Сейчас тестирую как производительность изменилась

delaguardo07:09:41

а насколько сложную логику получилось реализовать?

ilshad08:09:34

Достаточно сложную, это ж кложа

ilshad08:09:49

он еще на редис бегал и тд

lowl4tency08:09:54

delaguardo: а в чем смысл clojure-nginx?

lowl4tency08:09:04

ну в смысле зачем это городить?

dottedmag08:09:35

Вот ради lowl4tency и

delaguardo08:09:56

)) именно

lowl4tency08:09:58

Я имею в виду, нельзя nginx прикрутить сверху?

dottedmag08:09:05

Скажем, вполне себе представляется высоконагруженный сервер по отдаче статики по сложным правилам.

lowl4tency08:09:07

Или оно прям изнутри кложи дает прирост

lowl4tency08:09:24

Вместо нативного веб-сервера

lowl4tency08:09:35

dottedmag: смишно )

dottedmag08:09:39

Тогда in-process кложа экономит на двойной сериализации, общении с бэкендом и переключении контекстов.

lowl4tency08:09:20

dottedmag: я про шутку с моим ником)

lowl4tency08:09:42

И какой прирост кстати?

dottedmag08:09:46

nginx очень быстр в том, чтобы байтики туда-сюда таскать.

dottedmag08:09:04

Включая offload отдачи статики прямо в ядро.

dottedmag08:09:11

Гм, я не использовал.

delaguardo08:09:23

у меня показатели не изменились, но там статики нет совсем.

dottedmag08:09:56

Если это просто динамическое приложение, то разница будет несущественная, конечно.

delaguardo08:09:00

там просто микросервис, попробую со статикой погонять вечерком

dottedmag08:09:40

В nginx имеет смысл пихать код, который написан для nginx -- диспетчеризацию или short-circuiting каких-то особо нагруженных эндпоинтов.

dottedmag08:09:24

Ну или для упрощения деплоя, nginx занимается мониторингом worker'ов :)

delaguardo08:09:38

пока он мне для деплоя и нужен

lowl4tency08:09:45

а если нет прироста в динамике, то в чем пойнт?

lowl4tency08:09:50

делать CDN на кложе?

delaguardo08:09:05

мне он нужен для движка A/B тестов со сложной логикой