The OpenNET Project / Index page

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



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

"Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от opennews (??), 23-Авг-19, 10:03 
Состоялся (https://mailman.nginx.org/pipermail/unit/2019-August/000160....) выпуск сервера приложений NGINX Unit 1.10 (http://unit.nginx.org/), в рамках которого развивается решение для обеспечения запуска web-приложений на различных языках программирования (Python, PHP, Perl, Ruby, Go, JavaScript/Node.js и Java). Под управлением NGINX Unit может одновременно выполняться несколько приложений на разных языках программирования, параметры запуска которых можно изменять динамически без необходимости правки файлов конфигурации и перезапуска. Код написан на языке Си и распространяется (https://github.com/nginx/unit) под лицензией Apache 2.0. С особенностями NGINX Unit можно познакомиться в анонсе (https://www.opennet.ru/opennews/art.shtml?num=48434) первого выпуска.

В новой версии:


-  Добавлена начальная поддержка встроенного сервера  WebSocket, который пока доступен только для Node.js и скоро появится для  Java. Для обработки соединений WebSocket в  Node.js следует использовать серверный объект из модуля 'unit-http', например "var webSocketServer = require('unit-http/websocket').server";

-  Добавлена поддержка выделения PATH_INFO из URI в модуле PHP, что позволяет корректно обрабатывать запросы вида "/app.php/some/path?some=args";

-  Добавлена возможность маршрутизации запросов по схеме протокола в URL (HTTP или HTTPS);
-  В модуле Java добавлена поддержка multipart-запросов;
-  Улучшена совместимость модуля Node.js с выпусками Node.js 11.10+.

URL: https://mailman.nginx.org/pipermail/unit/2019-August/000160....
Новость: https://www.opennet.ru/opennews/art.shtml?num=51342

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

Оглавление

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


1. "Выпуск сервера приложений NGINX Unit 1.10.0"  –7 +/
Сообщение от Аноним (1), 23-Авг-19, 10:03 
Это старый добрый проверенный nginx с расширениями или новый продукт под раскрученным брендом?
Надо щюпать кенешн. Вдруг херак херак и в продакшен
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Выпуск сервера приложений NGINX Unit 1.10.0"  +2 +/
Сообщение от Alex_Kemail (??), 23-Авг-19, 10:18 
Второе.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

4. "Выпуск сервера приложений NGINX Unit 1.10.0"  +1 +/
Сообщение от Аноним (4), 23-Авг-19, 10:26 
третье
Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

36. "Выпуск сервера приложений NGINX Unit 1.10.0"  +5 +/
Сообщение от aospan (ok), 24-Авг-19, 02:54 
и запеканку
Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

42. "Выпуск сервера приложений NGINX Unit 1.10.0"  +1 +/
Сообщение от Аноним (42), 25-Авг-19, 13:05 
А компот?
Ответить | Правка | ^ к родителю #36 | Наверх | Cообщить модератору

7. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от AlexTedxemail (?), 23-Авг-19, 10:56 
это новый продукт от создателей старого доброго
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

9. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Valentin V. Bartenev (?), 23-Авг-19, 15:22 
Это попытка авторами переосмыслить архитектуру nginx, заложенную в 2002-ом году с учетом 15+ лет опыта и современных реалий. Но не повторять при этом ошибок Apache2, Python3, KDE4 и подобных. А с самого начала зайти сперва с другого угла и не принуждать пользователей мигрировать с одного на другое, параллельно развивая оба продукта.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

14. "Выпуск сервера приложений NGINX Unit 1.10.0"  +1 +/
Сообщение от Аноним (14), 23-Авг-19, 15:43 
А ничего, что эти продукты предназначены для совершенно разных задач? Unit это сервер приложений, а не реверс-прокси.
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

17. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 23-Авг-19, 15:48 
Но nginx в паре с каким-нибудь php-fpm или uWSGI и используются как application server.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

25. "Выпуск сервера приложений NGINX Unit 1.10.0"  –1 +/
Сообщение от Аноним (25), 23-Авг-19, 18:47 
С чего вдруг, реверс прокси на фпм делает его аппсервером?
Ответить | Правка | ^ к родителю #17 | Наверх | Cообщить модератору

20. "Выпуск сервера приложений NGINX Unit 1.10.0"  +5 +/
Сообщение от Valentin V. Bartenevemail (?), 23-Авг-19, 16:08 
Начальная поддержка раздачи статики и проксирования сейчас в разработке. В следующем релизе осенью уже можно ожидать в примитивном виде с дальнейшим развитием.

У нас нет установки на то, что юнит исключительно сервер приложений. Его архитектура закладывалась с учетом возможности эффективно отдавать статику и проксировать.

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

23. "Выпуск сервера приложений NGINX Unit 1.10.0"  +1 +/
Сообщение от Мертвые_опята (?), 23-Авг-19, 16:45 
> Начальная поддержка раздачи статики и проксирования сейчас в разработке.

А вот это уже очень интересно! Спасибо за новость.
Внимательно слежу за развитием Nginx Unit, но пока не видел особого смысла в его применении на задачах у меня или моих клиентов. Будем ждать.

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

22. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Мертвые_опята (?), 23-Авг-19, 16:42 
nginx это веб-сервер, а не реверс-прокси.
Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

15. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 23-Авг-19, 15:44 
Валентин, а насколько верна моя догадка, что столь удачная архитектура, основанная на shared memory, родилась из костылей вокруг того факта, что когда-то в 2003-м году Сысоев вопреки своему плану действий вместо тредов сделал воркеры, чтобы по-быстрому решить проблему с раздачей статики на рамблер-фотках? :-)
Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

21. "Выпуск сервера приложений NGINX Unit 1.10.0"  +4 +/
Сообщение от Valentin V. Bartenevemail (?), 23-Авг-19, 16:20 
Исходя из этого Игорь с самого начала заложил обработку слущающих сокетов на асинхронных тредах. Там, где у nginx отдельный воркер, у нас просто тред в процессе роутера. С разделяемой между отдельными процессами воркеров памятью в nginx сполна намучались.

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

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

26. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 23-Авг-19, 18:54 
А, понятно. Спасибо, интересно.

У меня просто было ничем не обоснованное подозрение, что принцип работы Unit-а изначально придуман для nginx plus :-)

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

27. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 23-Авг-19, 18:58 
С разделяемой памятью - да уж. Мы как-то давно делали свой in house модуль для хитрого кастомного стриминга, я, правда, в основном со стороны наблюдал, но мата было много :-)
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

47. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от An (??), 27-Авг-19, 14:31 
А почему в качестве трубы используется разделяемая память? Почему не хватает пары сокетов?
Ответить | Правка | ^ к родителю #21 | Наверх | Cообщить модератору

13. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 23-Авг-19, 15:38 
Это новый продукт, но основан на идеях (и частично коде) из nginx.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

29. "Выпуск сервера приложений NGINX Unit 1.10.0"  –1 +/
Сообщение от Hewlett Packard (?), 23-Авг-19, 22:47 
Старый добрый проверенный nginx с расширениями, нацеленный на использование в качестве сервера приложений, называется OpenResty, и оказался слишком сложен в приготовлении для широких масс интернетостроительной отрасли.
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

37. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Аноним (37), 24-Авг-19, 05:06 
Вы тут под аппсервером имеете в виду луа-скриптинг? У этого очень узкое применение. Луа мало подходит для больших проектов.
Ответить | Правка | ^ к родителю #29 | Наверх | Cообщить модератору

41. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Hewlett Packard (?), 25-Авг-19, 03:24 
Для БОЛЬШИХ проектов вообще ничего не подходит кроме J2EE и Большого Индийского Аутсорса. Но таких проектов в мире не очень много.
Ответить | Правка | ^ к родителю #37 | Наверх | Cообщить модератору

45. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Аноним (45), 27-Авг-19, 06:03 
Новый костыль, форсируемый новыми хозяевами старого продукта
Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Аноним (3), 23-Авг-19, 10:19 
> корректно обрабатывать запросы вида "/app.php/some/path?some=args";

уп-с, оно и этого даже не умело? Верной дорогой идут. Товарищи.

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

18. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 23-Авг-19, 15:53 
Ну, вообще, fastcgi_split_path_info это не так уж и часто нужная вещь. В основном в легаси коде встречается.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

24. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от OpenEcho (?), 23-Авг-19, 18:06 
>В основном в легаси коде встречается.

А можно глянуть на ссылочки, говорящиее что PATH_INFO стал legacy?

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

28. "Выпуск сервера приложений NGINX Unit 1.10.0"  +1 +/
Сообщение от KonstantinB (ok), 23-Авг-19, 21:42 
legacy в смысле связки с PHP.

Конструкция вида script.php/foo/bar изначально работала только в apache1 mod_php, и никогда не задумывалась как фича, это был просто побочный эффект реализации.

Сделать из этого PATH_INFO придумали уже потом :-)

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

19. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Аноним (19), 23-Авг-19, 16:00 
Имея опыт разработки на php в 2004-2008 годах, я верил, что уж в 2019 этот архаичный способ не нужен и все просто перенаправляют все запросы на index.php, что Unit умел с первых бета-версий.
Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Выпуск сервера приложений NGINX Unit 1.10.0"  –1 +/
Сообщение от Анон Багоев (?), 23-Авг-19, 10:36 
Код на js у них в unit довольно скверно написан. Никак руки до pr не дойдут. Не исключаю наличие там багов.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

8. "Выпуск сервера приложений NGINX Unit 1.10.0"  +3 +/
Сообщение от Valentin V. Bartenev (?), 23-Авг-19, 15:07 
Добрый день. Будем рады избавиться от скверного кода. =)
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

30. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Hewlett Packard (?), 23-Авг-19, 22:49 
Насколько сильно будете рады? В измеримых величинах.
Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

32. "Выпуск сервера приложений NGINX Unit 1.10.0"  +1 +/
Сообщение от Анонимemail (32), 23-Авг-19, 23:21 
Приходите, обсудим: https://www.nginx.com/careers/current-openings/?job_id=1723908
Ответить | Правка | ^ к родителю #30 | Наверх | Cообщить модератору

33. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Hewlett Packard (?), 23-Авг-19, 23:26 
Без javascript не отображается.


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

34. "Выпуск сервера приложений NGINX Unit 1.10.0"  +1 +/
Сообщение от Valentin V. Bartenevemail (?), 23-Авг-19, 23:31 
Отображается без JS, если угодно: https://boards.greenhouse.io/nginx/jobs/1723908
Ответить | Правка | ^ к родителю #33 | Наверх | Cообщить модератору

10. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от НяшМяш (ok), 23-Авг-19, 15:29 
Кстати, а в каком именно месте код скверный? Я глянул - ну да, в 2019 году писать на прототипах, юзать bind вместо современных классов и стрелочных функций немного странно (хотя может там совместимость декларируется до версий ноды 0.12), но в остальном ничего критичного я не заметил.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

12. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 23-Авг-19, 15:37 
А что не так в написании кода на прототипах?
Классы в JS - это просто синтаксический сахар над прототипами, для частного случая.

Вот сейчас работаю над старым проектом, где все так, и не испытываю абсолютно никаких проблем с этим. Зато работает без транспайлеров в любом недобраузере типа IE.

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

35. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Додо (?), 24-Авг-19, 00:56 
Классы читаются гораздо проще, чем прототипы, и возможно, имеют некие внутренние оптимизации в движке.
В данном случае никаких "транспайлеров" не требуется - пакет работает на Node.js, где уже давно имеется поддержка классов.
Ответить | Правка | ^ к родителю #12 | Наверх | Cообщить модератору

40. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от KonstantinB (ok), 24-Авг-19, 19:17 
Читаются чуточку проще, согласен. В новом коде так и делаю. Но переписывать легаси смысла не вижу.
Ответить | Правка | ^ к родителю #35 | Наверх | Cообщить модератору

11. "Выпуск сервера приложений NGINX Unit 1.10.0"  +3 +/
Сообщение от Аноним (11), 23-Авг-19, 15:36 
Тоже глянул - используются какие-то нативные функции по работе со строками вместо npm leftpad.
Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Выпуск сервера приложений NGINX Unit 1.10.0"  +2 +/
Сообщение от Аноним (6), 23-Авг-19, 10:52 
Сырой, но перспективный продукт.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

16. "Выпуск сервера приложений NGINX Unit 1.10.0"  –3 +/
Сообщение от Аноним (16), 23-Авг-19, 15:44 
Чем больше сырости, тем больше перспективности?
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

31. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Hewlett Packard (?), 23-Авг-19, 22:51 
Список продуктов, про которые в 2019 году этого нельзя было бы сказать, исчезающе мал.
Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

38. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Mail (?), 24-Авг-19, 06:48 
Чет америкосы раскочегарились, так и лепят релиз за релизом.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

39. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от anonymous (??), 24-Авг-19, 10:36 
Вот мне нравилась концепция NGINX Unix, но когда пробовал его применять для Go-приложений получалось одно разочарование :(

- Проблемы с адаптацией (например, если используешь fasthttp в качестве сервера).
- Производительность снижалась.
- Начинало подвисать. Приходилось либо долго ждать ответа на запрос, либо перепосылать его.

Видимо сыроват ещё был. Надо будет в этом году снова попробовать...

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

43. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Аноним (43), 26-Авг-19, 15:11 
Unit уже научился взаимодействовать с nginx через unix socket?
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

44. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Аноним (44), 27-Авг-19, 05:05 
Плюсану. А еще оно ondemand не умеет.
Ответить | Правка | ^ к родителю #43 | Наверх | Cообщить модератору

46. "Выпуск сервера приложений NGINX Unit 1.10.0"  +/
Сообщение от Аноним (43), 27-Авг-19, 07:00 
Та хрен с тем ondemand. Из-за отсутствия поддержки unix socket, невозможно его заюзать в хай лод проекте. TCP сокеты и так очень забиты другой нагрузкой.
Ответить | Правка | ^ к родителю #44 | Наверх | Cообщить модератору

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

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




Спонсоры:
Слёрм
Inferno Solutions
Hosting by Ihor
Хостинг:

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