RSS
Логотип
Баннер в шапке 1
Баннер в шапке 2

Yandex Userver (framework)

Product
Developers: Yandex
Last Release Date: 2023/09/21
Technology: Application Development Tools

Main article: Open Source

2023: userver 1.0 release on GitHub

On September 21, 2023, Yandex published a framework for developing high-load userver 1.0 applications on GitHub. This version was created taking into account the feedback and wishes of the open source community and is aimed at speeding up the development process - for example, support for popular databases and metrics was added, the documentation was rewritten.

The userver framework is a set of tools that allows you to create reliable high-load applications on C++. For more than a year, the open version of the framework has been developing with the support of the community.

First of all, userver is designed to develop applications with a microservice architecture - it allows you to create separate independent components (microservices) and reuse them in various solutions. For example, to search for a driver in Yandex Taxi and to search for a courier in Yandex Delivery, the same microservice written using userver is used.

Among the major changes in userver 1.0 are support, databases MySQL extended documentation with examples and instructions to simplify the use of the framework, as well as redesigned metrics mechanisms, assembly systems and project testing. This version of userver is also better optimized and less stressful. processor

File:Aquote1.png
Initially, we created a userver for the needs of Yandex, but we understood well that our solutions are not universal and may not suit someone. After entering opensors, we received bug reports, made additions and listened to wishes. For example, users asked how to add their own authorization mechanism - and we added a separate example and documentation for this function. Many use a different stack of technology for frontend development. To make life easier for them, we added support for the WebSockets data transfer protocol. As a result, a version of userver was released that effectively solves community problems. Of course, we continue to collect feedback and wishes in order to continue to give users the best product, "said Anton Polukhin, one of the authors of the framework and head of the development group for the general components of the Technology Platform of the Ekoma and Raidtech business group.
File:Aquote2.png

The framework develops according to the green trunk model - this means that developers can access all the latest improvements and userver changes immediately after they appear.

2022: Publishing Source Code

July 29, 2022 Yandex published source code the documentation of the userver framework. This is the first open set of tools that allows you to create highly loaded applications in the language C++ and is tested on the scale of the Yandex level. Userver is used in,,,, - and Yandex Go To bench To delivery Market fintechprojects many other services of the company. The framework is provided by open 2.0. licenses Apache

Userver is best suited for developing applications with microservice architecture. Initially, the framework was developed in Taxi, with its help the team switched from a monolithic application to an architecture that allows you to develop individual independent components (microservices) and use them in different applications.

Microservices are autonomous, so an application on a similar architecture is easy to update and add new features to it. Thus, the microservice for finding a driver for orders in Taxi can be used for a similar task - for example, finding a courier to fulfill Yandex Delivery orders. The same can be done with the calculation of the arrival time of the driver or courier and many other tasks.

File:Aquote1.png
When we switched to microservices, we understood that the new framework should be as simple as possible for developers and businesses. Therefore, userver was created with an emphasis on reliability and convenience, and inside it there is everything you need to develop, diagnose, monitor, debug and experiment. For example, userver prompts how to fix errors at the compilation stage, is able to work with different databases, change parameters on the fly, and so on. It is well suited for application development in both small and large companies. And with the help of userver, even a beginner can write a new microservice in a week, "said Anton Polukhin, one of the authors of the framework and head of the backend development group for RideTech and eCom product teams.
File:Aquote2.png

Yandex uploads its other key technologies to open source - for example, distributed, database management system YDB capable of processing millions of requests per second, as well as the library machine learning CatBoost that Yandex uses in Search and other services.