The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Выпуск nginx 1.19.2 и njs 0.4.3, opennews (??), 12-Авг-20, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


8. "Выпуск nginx 1.19.2 и njs 0.4.3"  +9 +/
Сообщение от little Bobby tables (?), 12-Авг-20, 13:20 

Nginx не адаптировался к нашим текущим лучшим практикам:

    Наши внутренние и (закрытые) внешние API постепенно переходят от REST к gRPC, что требует всевозможных возможностей перекодирования от прокси;
    Буферы протоколов стали де-факто стандартом для определений и конфигураций сервисов;
    Все программное обеспечение, независимо от языка, собирается и тестируется с помощью Bazel;
    Огромное участие наших инженеров в важных инфраструктурных проектах в сообществе разработчиков ПО с открытым исходным кодом;

Поддержка Nginx была достаточно дорогой:

    Логика генерации конфигураций была слишком гибкой и разделена между YAML, Jinja2 и Python;
    Мониторинг представлял собой смесь Lua, разбора логов и системного мониторинга;
    Повышенная зависимость от сторонних модулей влияла на стабильность, производительность и стоимость последующих обновлений;
    Развертывание Nginx и управление процессами сильно отличались от остальных сервисов. Она во многом зависела от конфигураций других систем: syslog, logrotate и т.д., а не была полностью отделена от базовой операционной системы.

Ответить | Правка | Наверх | Cообщить модератору

10. "Выпуск nginx 1.19.2 и njs 0.4.3"  +2 +/
Сообщение от Аноним (14), 12-Авг-20, 13:31 
Nginx — не для API и микросервисов, это отдача статики, фронт-прокси и FCGI/UWSGI прокси для пыха/питона.

(Кстати о логах — Nginx вполне неплохо справляется с их упаковкой в JSON с последующим стримингом в logstash → kafka → clickhouse, и никаких logrotate и парсеров с регулярками).

А под ваши задачи весьма неплохо попадает Envoy, изначально заточенный под динамическую конфигурацию и имеющий first class gRPC support. А вот статику сервить он не умеет, поэтому как замена апачу не пойдет, да.

Ответить | Правка | Наверх | Cообщить модератору

44. "Выпуск nginx 1.19.2 и njs 0.4.3"  –1 +/
Сообщение от Аноним (43), 12-Авг-20, 20:37 
> Nginx — не для API и микросервисов,

В чем можно убедиться попытавшись написать его модуль. А потом lwan.ws взять и ощутить разницу :)

Ответить | Правка | Наверх | Cообщить модератору

50. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (46), 12-Авг-20, 20:46 
> А потом lwan.ws взять и ощутить разницу :)

Прикольная штука, спасибо.

Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (-), 13-Авг-20, 18:12 
> Прикольная штука, спасибо.

Ну, во всяком случае, апи там vs сабжа просто небо и земля.

Ответить | Правка | Наверх | Cообщить модератору

11. "Выпуск nginx 1.19.2 и njs 0.4.3"  –3 +/
Сообщение от пох. (?), 12-Авг-20, 13:33 
> Nginx не адаптировался к нашим текущим лучшим практикам:

это не лучшие, а худшие практики.
>     Развертывание Nginx и управление процессами сильно отличались от
> остальных сервисов.

беда девляпсов, кого она колышет?

> Она во многом зависела от конфигураций других систем: syslog,
> logrotate и т.д., а не была полностью отделена от базовой операционной
> системы.

а зачем отделять от операционной системы системное приложение (обычно главное и часто единственное в данной системе)? Чтобы костылить ОТДЕЛЬНО другой сислог, ротейтилку и т д? А, ну да, вы только так и умеете, unix - не умеете, за вами админ должен подтирать.

Собственно, остальные претензии ровно из той же оперы.

Ну ничего, для вас вон уже соорудили непонятное нечто по имени unit. nginx вам в общем-то и не нужен.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

13. "Выпуск nginx 1.19.2 и njs 0.4.3"  +2 +/
Сообщение от Аноним (14), 12-Авг-20, 13:40 
> беда девляпсов, кого она колышет?

Связался с чем-то, кроме апача и pure-ftpd — уже хипстер и девляпс, не забывай подливать смузи и подворачивать штаны.

> а зачем отделять от операционной системы системное приложение (обычно главное и часто единственное в данной системе)? Чтобы костылить ОТДЕЛЬНО другой сислог, ротейтилку и т д?

Сислог в детстве очень много курил, и поэтому вырос маленьким и больным.
Если есть хотя бы скромные 10к RPS, банальная выборка статистики ошибок за прошедшие сутки грепом превращается в цирк с конями.

Ответить | Правка | Наверх | Cообщить модератору

18. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (18), 12-Авг-20, 14:37 
Алло, сислог может писать в постгрес хоть куда. Откройте для себя уже рсислог или я там не знаю, тому же рсислог уже 20 лет. Не нужно пихать всё в одну кучу, модульность имеет определённые недостатки но достоинств у неё куда больше — каждый должен заниматься тем, что у него получается лучше всего и является его предназначением.
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (14), 12-Авг-20, 16:21 
А парсить кто будет? Видел third-party плагин mmjsonparse для rsyslog но, как и все third-party, требует некоторых плясок.
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от пох. (?), 12-Авг-20, 16:55 
>> беда девляпсов, кого она колышет?
> Связался с чем-то, кроме апача и pure-ftpd — уже хипстер и девляпс,

вам уже и nginx не торт

> Если есть хотя бы скромные 10к RPS, банальная выборка статистики ошибок за
> прошедшие сутки грепом превращается в цирк с конями.

О! Они _статистику_ - грепом собирают. Девляпсы как есть. Разумеется, у них цирк.

Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

27. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (46), 12-Авг-20, 17:03 
Разве работать с логами исключительно grep-ом — не труЪ unix way?
Ответить | Правка | Наверх | Cообщить модератору

31. "Выпуск nginx 1.19.2 и njs 0.4.3"  –1 +/
Сообщение от пох. (?), 12-Авг-20, 17:14 
> Разве работать с логами исключительно grep-ом — не труЪ unix way?

Это типичный обезьянко-way, схватила молоток - любая проблема рассматривается как гвоздь.

Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (-), 13-Авг-20, 18:12 
> Это типичный обезьянко-way, схватила молоток - любая проблема рассматривается как гвоздь.

Нихрена, пох в кои-то веки дело говорит.


Ответить | Правка | Наверх | Cообщить модератору

77. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (46), 14-Авг-20, 18:26 
Не склонен согласиться. Для более-менее крупных нагрузок подходы к хранению и анализу логов сильно отличаются от syslog. Все-таки последний рассчитан на очень маленький поток сообщений. В крупных системах access-логи вебни или логи приложений никто в текстовые файлы не пишет.
Ответить | Правка | Наверх | Cообщить модератору

40. "Выпуск nginx 1.19.2 и njs 0.4.3"  –2 +/
Сообщение от Michael Shigorinemail (ok), 12-Авг-20, 17:51 
> Nginx не адаптировался к нашим текущим лучшим практикам:

А что, так можно было?!

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

47. "Выпуск nginx 1.19.2 и njs 0.4.3"  –2 +/
Сообщение от Аноним (43), 12-Авг-20, 20:43 
> Буферы протоколов стали де-факто стандартом для определений и конфигураций сервисов;

А вы и конфиги в бинарях храните?

> что требует всевозможных возможностей перекодирования от прокси;

Когда кажется что маразм наконец выдохся, придет очередная вебмакака...

> Все программное обеспечение, независимо от языка, собирается и тестируется с помощью Bazel;

Два чая^W молотова в окно этому энтерпрайзу.

> Огромное участие наших инженеров в важных инфраструктурных проектах в сообществе
> разработчиков ПО с открытым исходным кодом;

Маркетинговый булшит как он есть. Хотя разработка нжинкса и правда очень враждебна к окружающим.

> Логика генерации конфигураций была слишком гибкой и разделена между YAML, Jinja2 и Python;

А вот тут интересно, как нжинкс виноват в вашей криворукости.

> Мониторинг представлял собой смесь Lua, разбора логов и системного мониторинга;

У них есть коммерческая версия, а вы типа решили на халяву проскочить?

> Развертывание Nginx и управление процессами сильно отличались от остальных сервисов.

Небось какой-нибудь фигни на игогошечке. Спасибо если не яве.

Ответить | Правка | К родителю #8 | Наверх | Cообщить модератору

52. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (46), 12-Авг-20, 20:54 
> А вы и конфиги в бинарях храните?

Можно в бинарях, можно в YAML, можно в JSON.
Главное, что не очередной вело-формат.

> А вот тут интересно, как нжинкс виноват в вашей криворукости.

Отсутствие такой базовой вещи, как API динамической конфигурации — это не его криворукость, это свойство Nginx — «better Apache, nothing more».

> Небось какой-нибудь фигни на игогошечке. Спасибо если не яве.

О да, здоровые люди пишут исключительно на пыхе. И пускают его через через mod_php, конечно же!

Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (-), 13-Авг-20, 18:05 
> Главное, что не очередной вело-формат.

Протобуферы сами по себе - по определению велоформат! Они, видите ли, без схемы хранения идут, и поэтому чтобы вообще распарсить бинарь и понять что сие - вы должны заранее знать что это.

А приколитесь какой облом - я с протобуфером дело имею, правда в контексте OSM скорее, и вот там я даже понимаю зачем оно такое надо - а потому что 250-гиговая (!!!) XML'ка нечто совсем уж за гранью добра и зла, ее такую ни редактировать чем либо, ни парсить вменяемо нереально, зато в несколько раз жирнее и многократно тормознее в парсинге. Что при объеме данных порядка 30Gb в сжатом PBF - весьма и весма аргумент.

...но у конфигов масштаб совсем иной и я не понимаю чем плохи какие-нибудь ini-файлы, мелкие, простые, человекочитаемые, ковыряемые любым эдитором. И даже если бинарный формат сэкономит там немного места, я что-то не уверен что это именно то место где все это окупается.

> Отсутствие такой базовой вещи, как API динамической конфигурации — это не его
> криворукость, это свойство Nginx — «better Apache, nothing more».

Ну как бы такое апи штука специфичная и нужная далеко не всем. Хотя если все же нужно - тут мы нелестно вспоминаем апи нжынкса и насколько враждебно и утомительно там что-то менять, начиная с их уроцкой системы контроля версий.

> О да, здоровые люди пишут исключительно на пыхе. И пускают его через
> через mod_php, конечно же!

Ну, даже пыхеры такой откровенной #$%аниной как динамические апи конфигурирования httpd не занимались. Это какое-то очень уж утонченное развлечение. Админам видите ли обычно достаточно сменить в конфиге параметры и сказать kill -HUP, чтоли. И все это отлично автоматизируется на хоть 100500 серверов парой сцаных скриптиков делаемых за 2 минуты, в отличие от убер-апи.

Ответить | Правка | Наверх | Cообщить модератору

74. "Выпуск nginx 1.19.2 и njs 0.4.3"  +/
Сообщение от Аноним (46), 14-Авг-20, 15:23 
> ...но у конфигов масштаб совсем иной и я не понимаю чем плохи какие-нибудь ini-файлы, мелкие, простые, человекочитаемые, ковыряемые любым эдитором. И даже если бинарный формат сэкономит там немного места, я что-то не уверен что это именно то место где все это окупается.

Это когда у вас мало сервисов. Сейчас вот например на балансере маленькой конторки, в которой работают 13 человек
www-data@srv13:/etc/nginx$ wc /etc/nginx/nginx.conf
  17847  32882 493808 /etc/nginx/nginx.conf
Очень мелко, очень человекочитаемо.
А в мире серьезного бизнеса оно легко достигает десятков мегабайт.

> Ну, даже пыхеры такой откровенной #$%аниной как динамические апи конфигурирования httpd не занимались. Это какое-то очень уж утонченное развлечение. Админам видите ли обычно достаточно сменить в конфиге параметры и сказать kill -HUP, чтоли. И все это отлично автоматизируется на хоть 100500 серверов парой сцаных скриптиков делаемых за 2 минуты,

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

> в отличие от убер-апи.

Левой пяткой за правым ухом всяко проще, чем рукой, да?)

Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру