Опенсорсный фреймворк Яндекса userver вышел из беты
Яндекс опубликовал фреймворк для разработки высоконагруженных приложений userver 1.0 на GitHub. Новая версия создана с учетом обратной связи и пожеланий опенсорс-сообщества и направлена на ускорение процесса разработки — например, добавлена поддержка популярных баз данных и метрик, переписана документация.
Напомним, фреймворк userver — набор инструментов, который позволяет создавать надежные высоконагруженные приложения на C++. Уже больше года открытая версия фреймворка развивается при поддержке сообщества.
В первую очередь userver предназначен для разработки приложений с микросервисной архитектурой — она позволяет создавать отдельные независимые компоненты (микросервисы) и переиспользовать их в различных решениях. Например, для поиска водителя в Яндекс Такси и для поиска курьера в Яндекс Доставке используется один и тот же микросервис, написанный с помощью userver.
Среди основных изменений в userver 1.0 — поддержка популярных баз данных MySQL, расширенная документация с примерами и инструкциями, чтобы упростить использование фреймворка, а также переработанные механизмы работы с метриками, системы сборки и тестирования проекта. Еще новая версия userver лучше оптимизирована и меньше нагружает процессор.
Антон Полухин, один из авторов фреймворка и руководитель группы бэкенд-разработки решений для продуктовых команд RideTech и eCom:
«После выхода в опенсорс мы получали багрепорты, вносили дополнения и слушали пожелания. Например, пользователи спрашивали, как добавить собственный механизм авторизации, — и мы добавили отдельный пример и документацию для этой функции. Многие используют другой стек технологий для фронтенд-разработки. Чтобы облегчить им жизнь, мы добавили поддержку протокола передачи данных WebSockets. В результате вышла версия userver, которая эффективно решает задачи сообщества».
Фреймворк развивается по модели green trunk — это означает, что разработчики могут получать доступ ко всем последним улучшениям и нововведениям userver сразу после их появления. Для этого нужно скачать последнюю версию фреймворка на GitHub из ветки develop.