SynGX vs Nginx

SynGX vs Nginx

Назад

Platform V SynGX – высокопроизводительный и безопасный сервер для балансировки нагрузки и маршрутизации запросов к веб-ресурсам, критически важным для бизнеса. При этом он обогащен дополнительной функциональностью, которая позволяет повысить производительность прокси-сервера, упростить его мониторинг и настройку, а также добавить собственную логику обработки запросов на языках Lua и JS.

Первая картинка статьи/новости

Решение используется в Сбере и обеспечивает доступность критически важных объектов инфраструктуры — сайта sberbank.ru, СберБанк Онлайн и других бизнес-приложений банка (пресс-релиз). В настоящий момент развернуто более 4000 серверов с Platform V SynGX в 300 автоматизированных системах Сбера. При этом используются разные протоколы: HTTPS, TCP, UDP, websocket, и конфигурации – профиль нагрузки и количество используемых серверов каждой автоматизированной системы сильно отличается друг от друга.

СберТех предоставляет возможность любой компании бесплатно протестировать Platform V SynGX в течение трех месяцев, чтобы оценить функционал, убедиться в безопасности и надежности продукта. Для того, чтобы получить доступ к SynGX, заполните, пожалуйста, форму запроса демо.

В этой статье мы подробно обсудим отличия Platform V SynGX от open source версий Nginx и OpenResty, а также от коммерческой версии Nginx Plus, ориентированных на работу с высоконагруженными сценариями.

Чем уникален SynGX

SynGX собирается на базе стабильной open source версии Nginx и содержит весь функционал этого продукта. Это означает, что все директивы и возможности, которые есть в соответствующей версии Nginx, будут также доступны и в SynGX. Текущая версия SynGX собрана на базе Nginx версии 1.24, и обновление происходит ежегодно.

Все отличия SynGX от open source версии Nginx можно разделить на три множества. 

В первое множество входят сделанные нами доработки — как в виде патчей к open source версии, так и в виде собственных разработанных модулей. Реализованный нами функционал во многом схож с тем, что есть в коммерческой версии Nginx Plus или Angie, и включает в себя, например, улучшенные метрики производительности, автоматическое разрешение доменных имен узлов в группах балансировки, активные проверки работоспособности узлов в группах балансировки и многое другое. Некоторые идеи позаимствованы у HAProxy или являются уникальными (т. е. отсутствуют в других веб- и прокси-серверах).

Второе множество составляет функционал сторонних модулей, которые добавлены в сборку SynGX. Open source сообщество Nginx разработало большое количество модулей разного качества и разной степени готовности к промышленному использованию, которые могут быть добавлены в сборку Nginx. Для SynGX мы отобрали, тщательно протестировали, проверили на безопасность и включили в сборку определенный набор модулей, который востребован нашими заказчиками.  Периодически по запросам мы добавляем новые модули, при этом проверяем каждый модуль на отсутствие ошибок, уязвимостей и достаточную производительность.

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

Как SynGX соотносится с OpenResty

OpenResty — это многофункциональная веб-платформа, построенная на базе Nginx и расширяющая его возможности за счет использования языка программирования Lua. Кроме ядра в виде Nginx, OpenResty включает в себя собственную сборку LuaJit как среду исполнения Lua-кода, большое количество различных модулей Nginx, множество библиотек Lua-кода, а также набор C-библиотек, чтобы обеспечить разработчикам максимум возможностей для обработки сетевых запросов. 

SynGX содержит в своем составе:

Благодаря этому возможна миграция проектов, использующих OpenResty, на SynGX без потери функциональности и без необходимости изменения конфигурации или Lua-кода. 

SynGX vs Nginx Plus

SynGX содержит часть наиболее востребованного функционала Nginx Plus, который отсутствует в open source версии Nginx. К такому функционалу относятся в первую очередь:

Мы активно развиваем SynGX и продолжим расширять функционал по запросам пользователей в следующих релизах.   

Как SynGX расширяет и улучшает возможности Nginx

Open source Nginx и OpenResty — надежные, многофункциональные и высокопроизводительные продукты. Они закрывают большинство задач, которые возникают у разработчиков или администраторов. Однако реализация определенного функционала требует написания такой конфигурации или дополнительных скриптов, которые сложно понимать или развивать. Примером такого функционала могут являться метрики в формате Prometheus по количеству HTTP-запросов в разрезе статусов кодов ответов. Подобные метрики собирают множеством разных способов. Например, можно самостоятельно написать скрипты для анализа access log и сбора нужной статистики по нему, а затем реализовать микросервис, который будет выдавать метрики в ответ на HTTP-запрос. Для этих же целей можно взять какое-либо open source решение, например https://github.com/nginxinc/nginx-prometheus-exporter. Однако то же самое в SynGX можно реализовать с помощью нескольких дополнительных директив в основной конфигурации.

Функционал SynGX, отличный от open source Nginx и OpenResty, доработан так, чтобы ускорить и упростить решение типичных задач при работе с веб- и прокси-серверами в условиях повышенной нагрузки и высоких требований к надежности и скорости отклика системы. Быстро определить наличие проблем у клиента помогают не только дополнительные метрики, но и функционал активной проверки работоспособности. Он позволяет перенаправлять запросы только на живые узлы, к функционалу «липких» сессий и к функционалу автоматического разрешения доменных имен узлов в группах балансировки

Как SynGX может использоваться вместе с Kubernetes

Контейнеры с SynGX подходят для раздачи статического контента.

SynGX может использоваться в качестве прокси-сервера перед сервисами, развернутыми в кластере Kubernetes, и решать задачи:

SynGX может использоваться в качестве балансировщика перед несколькими кластерами Kubernetes, например, развернутыми в разных ЦОДах, и решать задачи:

Как SynGX импортозамещает Nginx, Nginx Plus и OpenResty

SynGX зарегистрирован в Российском реестре ПО, поэтому может служить в качестве альтернативы для open source версий Nginx и OpenResty и коммерческой версии Nginx Plus в тех автоматизированных системах и сервисах, в которых требуется использование отечественного ПО и поддержка со стороны российской компании-разработчика.

Что еще почитать?

new photo1

Вебинар: миграция с Nginx и Openresty на SynGX

Событие

07.08.2024

Отказоустойчивая работа сайта и онлайн-сервисов — приоритетная задача для любого инженера. В высоконагруженных сценариях при большом количестве пользователей базовой функциональности Nginx недостаточно – нужны более гибкие инструменты работы с балансировкой и маршрутизацией. А еще нужно дополнительно собирать большое количество различным метрик и, в идеале, добавлять собственную логику обработки запросов.

new photo1

Сбер полностью импортозаместил зарубежный прокси-сервер

Новость

23.07.2024

Сбер заменил Nginx Plus на высокопроизводительный веб- и обратный прокси-сервер Platform V SynGX от СберТеха.

new photo1

Проверка работоспособности узлов Nginx

Статья

14.06.2024

Ринат Фатхуллин, владелец продукта SynGX, описал внедрение активной проверки узлов для балансировки нагрузки, подчеркнул важность этой функции и отметил ее отсутствие в оригинальной версии Nginx.

Связаться с нами

Задать вопрос