«Яндекс» выложил в открытый доступ Userver — инструмент для разработки приложений с микросервисной архитектурой Статьи редакции

Компания использует его, например, в «Яндекс Go», «Лавке», «Доставке», «Маркете» и других сервисах.

  • Яндекс опубликовал исходный код и документацию фреймворка Userver. Его могут использовать все разработчики по открытой лицензии Apache 2.0, инструмент доступен на GitHub.

  • Userver подходит для разработки приложений с микросервисной архитектурой. Изначально его делали для «Такси», и с его помощью компания перешла с монолитного приложения на архитектуру, которая позволяет разрабатывать отдельные независимые компоненты — микросервисы — и использовать их в разных приложениях.

  • Например, микросервис поиска водителя в «Такси» можно использовать для поиска курьера в «Доставке». То же самое можно делать с похожими задачами — расчётом времени прибытия и другими. Микросервисы автономны, поэтому в приложения можно легко добавлять новые функции и обновлять его.
  • В Userver есть всё необходимое для разработки, диагностики, мониторинга, отладки и экспериментов, говорит Антон Полухин, один из авторов фреймворка и руководитель бэкенд-разработки решений для продуктовых команд RideTech и eCom. Например, он подсказывает как исправить ошибки ещё на этапе компиляции, умеет работать с разными базами данных и другое, а также подходит для разработки приложений как в больших, так и в маленьких компаниях.

0
112 комментариев
Написать комментарий...
Boris Medvedev

зачем писать в 2022 году фреймворк для микросервисов на C++?

Ответить
Развернуть ветку
Рамир Собалов

C++ даёт максимум возможностей выдоить из ресурсов все соки, чем другие языки, а хороший капиталист обязан стремиться выдоить из всех средств производства максимум производительности, иначе это не капиталист, а чертила из леса. Да, можно отключить GC в java, можно написать на Си высоконагруженное и вызвать из питона, но если уж потрогал Си, зачем полумеры? Если уж взялся на Си, то берись за нормальный взрослый со всей выразительной мощью, если конечно ты не неосилятор. Тем более, что код на современном C++ короче любой этой вашей явы и тем более го.

И ГЛАВНОЕ: Капиталист, который не стремится максимально удешевить себестоимость продукции, выдаивая все ресурсы из средств производства любой ценой - чёрт сраный, а не капиталист. Большинство создателей сервисов и нормально-то сделать не могут - каждый ответ интерфейса по 100 долгих миллисекунд приходится ждать, им знания железа, структур данных, алгоримов не хватает даже на базовом уровне, что говорить про "выдаивание ресурсов". Если ты занят массовым обслуживанием людей своими серверами и вместо максимального выдаивания всех возможностей из существующих серверов пытаешься закупить их ещё - то ты алкаш с вокзала. Хороший капиталист всегда найдёт студентов за еду, любящих ассемблер, чем будет платить 300к/сек бестолковым разжиревшим го-говнокодерам, обросшим семьёй и ипотеками, у которых на выходе так или иначе копипаста с стековерфлоу.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Рамир Собалов

1. На фронтенде это ПОЧТИ никого не волнует, поскольку 100500 гигагерц и оперативы и ядер выделено на КАЖДОГО отдельного мясного смертного клиента. Что-то оптимизировать чаще всего тупо не нужно - клиент не заметит, ибо он быдла. Ну вот кто заметит в этом движке VC.RU когда сообщеньку пишешь разрабы 5К элементов сортировали пузырьём или квиксортом - никто.

2. Всё же фронтенд компилируется через V8 в нативный код - C++-разрабы из гугла опять спасли мир, без их V8 весь мир бы знал какую ссанину пишут смузихлёбы.

3. Если веб-приложенечка становится более-менее сложной, то (1) перестаёт выполняться, начинают появляться написанные на webassembly либы. Например в веб-клиенте телеграма на wasm написана библиотечка, которая анимирует красивое превращение треугольничка "play" в две палки "pause" когда вы трек запускаете. Ну и во всяком там геймдеве при написании клиентских движков на JS разрабы начинают очень сильно учитывать особенности клиентской стороны, особенности виртуальной машины, V8 компилятора и т.п.

Ответить
Развернуть ветку
109 комментариев
Раскрывать всегда