Яндекс выложил в опенсорс userver – инструмент для создания высоконагруженных приложений
Яндекс выложил в опенсорс userver – инструмент для создания высоконагруженных приложений. Фото: СС0
Изначально фреймворк разрабатывался в Такси, с его помощью команда перешла с монолитного приложения на архитектуру, которая позволяет разрабатывать отдельные независимые компоненты (микросервисы) и использовать их в разных приложениях.
Микросервисы автономны, поэтому приложение на подобной архитектуре легко обновлять и добавлять в него новые функции. Так, микросервис поиска водителя на заказы в Такси можно использовать для схожей задачи — например поиска курьера для выполнения заказов Яндекс Доставки. То же самое можно проделать и с расчётом времени прибытия водителя или курьера и многими другими задачами.
Из сообщения одного из авторов фреймворка и руководителя группы бэкенд-разработки решений для продуктовых команд RideTech и eCom Антона Полухина:
«Когда мы переходили на микросервисы, мы понимали, что новый фреймворк должен быть как можно проще для разработчиков и бизнеса. Поэтому userver создавали с акцентом на надёжность и удобство, а внутри него есть всё необходимое для разработки, диагностики, мониторинга, отладки и экспериментов. Например, userver подсказывает как исправить ошибки ещё на этапе компиляции, умеет работать с разными базами данных, менять параметры на лету и так далее. Он хорошо подходит для разработки приложений как в небольших, так и в крупных компаниях. И с помощью userver даже новичок может за неделю написать новый микросервис».
Яндекс выкладывает в опенсорс и другие свои ключевые технологии — например, распределённую систему управления базами данных YDB, способную обрабатывать миллионы запросов в секунду, а также библиотеку машинного обучения CatBoost, которую Яндекс применяет в Поиске и других сервисах.
Подробнее узнать про фреймворк userver можно на Хабре.
Startpack подготовил список облачных сервисов для разработки программного обеспечения и совместной работы. Среды разработки и конструкторы для создания приложений, сайтов, чат-ботов и интернет-магазинов. Решения для планирования и распределения ресурсов при работе над большими проектами. Платформы для создания прототипов, общения между дизайнерами и программистами, автоматизации тестирования и проверки кода на ошибки. Система контроля версий поможет хранить старые версии ПО и наладить выпуск стабильных релизов.
Статьи по теме
Комментариев пока не было