Разделы

Системное ПО Открытое ПО

Фреймворк userver «Яндекса» с открытым исходным кодом вышел из беты

«Яндекс» опубликовал фреймворк для разработки высоконагруженных приложений userver 1.0 на GitHub. Новая версия создана с учётом обратной связи и пожеланий опенсорс-сообщества и направлена на ускорение процесса разработки — например, добавлена поддержка популярных баз данных и метрик, переписана документация.

Фреймворк userver — набор инструментов, который позволяет создавать надёжные высоконагруженные приложения на C++. Уже больше года открытая версия фреймворка развивается при поддержке сообщества.

В первую очередь userver предназначен для разработки приложений с микросервисной архитектурой — она позволяет создавать отдельные независимые компоненты (микросервисы) и повторно использовать их в различных решениях. Например, для поиска водителя в «Яндекс такси» и для поиска курьера в «Яндекс доставке» используется один и тот же микросервис, написанный с помощью userver.

Среди основных изменений в userver 1.0 — поддержка популярных баз данных MySQL, расширенная документация с примерами и инструкциями, чтобы упростить использование фреймворка, а также переработанные механизмы работы с метриками, системы сборки и тестирования проекта. Ещё новая версия userver лучше оптимизирована и меньше нагружает процессор.

Дискуссия в метавселенной: ИИ, обмен данными и иммерсивные сценарии
ИТ в банках

«Изначально мы создавали userver под нужды «Яндекса», но хорошо понимали, что наши решения не универсальны и могут кому-то не подойти. После выхода в опенсорс мы получали багрепорты, вносили дополнения и слушали пожелания. Например, пользователи спрашивали, как добавить собственный механизм авторизации, — и мы добавили отдельный пример и документацию для этой функции. Многие используют другой стек технологий для фронтенд-разработки. Чтобы облегчить им жизнь, мы добавили поддержку протокола передачи данных WebSockets. В результате вышла версия userver, которая эффективно решает задачи сообщества. Конечно, мы продолжаем собирать отзывы и пожелания, чтобы и дальше давать пользователям лучший продукт», — сказал Антон Полухин, один из авторов фреймворка и руководитель группы разработки общих компонентов технологической платформы бизнес-группы екома и райдтеха.

Фреймворк развивается по модели green trunk — это означает, что разработчики могут получать доступ ко всем последним улучшениям и нововведениям userver сразу после их появления. Для этого нужно скачать последнюю версию фреймворка на GitHub из ветки develop.