Yandex published the source code of the framework userver , which allows you to create highly loaded applications in C ++. The framework is tested on the loads of the Yandex level and is used in services such as Yandex GO, shop, delivery, market and fintech projects. Userver code is written in C ++ and open under the license Apache 2.0.
userver is best suited for developing applications with microservice architecture. Initially, the framework was developed for Yandex Taxi, with its help the team switched from a monolithic application to the architecture, which allows you to develop individual independent components (microservices) and use them in different applications. Microservice is autonomous, so the application on such architecture is easy to update and add new functions to it. So, microservice search for a driver for orders in a taxi can be used for a similar task – for example, search for a courier to fulfill Yandex delivery orders. The same can be done with the calculation of the time of arrival of the driver or courier and many other tasks.
Freimvorkus was originally created with an emphasis on reliability and convenience, and inside it is provided for everything necessary for the development, diagnosis, monitoring, debugging and experiments. For example, userver tells how to correct errors at the compilation stage, knows how to work with different databases, change the parameters on the fly, and so on. Userver is suitable for developing applications in both small and large companies.
Previously, Yandex translated its key technologies into the form of open projects – for example, a distributed YDB database management system, capable of processing millions of queries per second, as well as the Catboost machine learning library, which Yandex uses in the search for other services.