NGINX Unit — новый сервер приложений и основа для service mesh от создателей веб-сервера nginx
В минувшую среду компания NGINX Inc, стоящая за популярным одноимённым веб-сервером (nginx), анонсировала свой новый Open Source-продукт — NGINX Unit.
NGINX Unit — это отдельный от nginx продукт, являющийся легковесным сервером приложений (application server) с открытым кодом и призванным «ответить на запросы сегодняшних динамических и распределённых приложений». На данном этапе он поддерживает запуск приложений на трёх языках программирования: Go, PHP и Python, — а поддержка Java и Node.JS планируется в «ближайшем будущем». NGINX Unit позволяет запускать на одном сервере приложения не только на разных языках, но и на разных версиях интерпретаторов (например, PHP 5 и PHP 7, Python 2.7 и Python 3).
Другой особенностью NGINX Unit является его «программируемость»: конфигурация по REST API, использование формата JSON для конфигураций, graceful-обновления приложений и конфигураций для минимизации простоев сервиса. Кроме того, продукт адаптирован для использования в качестве базы для «сервисной сетки» (service mesh; примеры известных реализаций — linkerd и Istio) благодаря интегрированному сетевому стеку для быстрого взаимодействия сервисов и возможностям определения сетевой конфигурации на уровне сервера приложений (вместо кода приложения). Вскоре также обещают поддержку протоколов SSL/TLS и HTTP/2.
Текущий статус разработки NGINX Unit — бета-версия 0.1, которую можно скачать с сайта unit.nginx.org. Исходный код NGINX Unit написан на языке Си и доступен под свободной лицензией Apache License 2.0 на GitHub.
Дмитрий Шурупов по материалам Nginx.Com, Nginx.Com.