Yandex ΠΎΡ‚Π²ΠΎΡ€ΠΈ ΠΊΠΎΠ΄Π° Π·Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π½Π° потрСбитСлския ΡΡŠΡ€Π²ΡŠΡ€ Π·Π° създаванС Π½Π° прилоТСния с високо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅

Yandex ΠΏΡƒΠ±Π»ΠΈΠΊΡƒΠ²Π° изходния ΠΊΠΎΠ΄ Π½Π° Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Userver, която Π²ΠΈ позволява Π΄Π° ΡΡŠΠ·Π΄Π°Π²Π°Ρ‚Π΅ прилоТСния с високо Π½Π°Ρ‚ΠΎΠ²Π°Ρ€Π²Π°Π½Π΅ Π½Π° C++, ΠΊΠΎΠΈΡ‚ΠΎ работят Π² асинхронСн Ρ€Π΅ΠΆΠΈΠΌ. Π Π°ΠΌΠΊΠ°Ρ‚Π° Π΅ тСствана ΠΏΡ€ΠΈ натоварвания Π½Π° Π½ΠΈΠ²ΠΎ Yandex ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² услуги ΠΊΠ°Ρ‚ΠΎ Yandex Go, Lavka, Delivery, Market ΠΈ fintech ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ. ΠšΠΎΠ΄ΡŠΡ‚ Π½Π° потрСбитСля Π΅ написан Π½Π° C++ ΠΈ Π΅ Π»ΠΈΡ†Π΅Π½Π·ΠΈΡ€Π°Π½ ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·Π° Apache 2.0.

Userver Π΅ Π½Π°ΠΉ-подходящ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅ Π½Π° прилоТСния с микросСрвизна Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°. ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° бСшС Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π΅Π½Π° Π·Π° Yandex Taxi, с Π½Π΅Π³ΠΎΠ²Π° ΠΏΠΎΠΌΠΎΡ‰ Π΅ΠΊΠΈΠΏΡŠΡ‚ ΠΏΡ€Π΅ΠΌΠΈΠ½Π° ΠΎΡ‚ ΠΌΠΎΠ½ΠΎΠ»ΠΈΡ‚Π½ΠΎ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ към Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, която Π²ΠΈ позволява Π΄Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Ρ‚Π΅ ΠΎΡ‚Π΄Π΅Π»Π½ΠΈ нСзависими ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ (микроуслуги) ΠΈ Π΄Π° Π³ΠΈ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ прилоТСния. ΠœΠΈΠΊΡ€ΠΎΡƒΡΠ»ΡƒΠ³ΠΈΡ‚Π΅ са Π°Π²Ρ‚ΠΎΠ½ΠΎΠΌΠ½ΠΈ, Ρ‚Π°ΠΊΠ° Ρ‡Π΅ ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, Π±Π°Π·ΠΈΡ€Π°Π½ΠΎ Π½Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π°, Π΅ лСсно Π·Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ ΠΈ добавянС Π½Π° Π½ΠΎΠ²ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ към Π½Π΅Π³ΠΎ. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ микроуслугата Π·Π° Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ΡˆΠΎΡ„ΡŒΠΎΡ€ Π·Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ Π½Π° такси ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΠΎΠ΄ΠΎΠ±Π½Π° Π·Π°Π΄Π°Ρ‡Π° - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π½Π°ΠΌΠΈΡ€Π°Π½Π΅ Π½Π° ΠΊΡƒΡ€ΠΈΠ΅Ρ€ Π·Π° изпълнСниС Π½Π° ΠΏΠΎΡ€ΡŠΡ‡ΠΊΠΈ Π·Π° доставка Π½Π° Yandex. Π‘ΡŠΡ‰ΠΎΡ‚ΠΎ ΠΌΠΎΠΆΠ΅ Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ с изчисляванС Π½Π° Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° пристиганС Π½Π° ΡˆΠΎΡ„ΡŒΠΎΡ€ ΠΈΠ»ΠΈ ΠΊΡƒΡ€ΠΈΠ΅Ρ€ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ Π·Π°Π΄Π°Ρ‡ΠΈ.

ΠŸΡŠΡ€Π²ΠΎΠ½Π°Ρ‡Π°Π»Π½ΠΎ Ρ€Π°ΠΌΠΊΠ°Ρ‚Π° Π΅ създадСна с Π°ΠΊΡ†Π΅Π½Ρ‚ Π²ΡŠΡ€Ρ…Ρƒ надСТдността ΠΈ удобството, ΠΊΠ°Ρ‚ΠΎ Π²ΡŠΡ‚Ρ€Π΅ Π² нСя Π΅ осигурСно всичко Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π·Π° Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°, диагностика, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³, отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΈ СкспСримСнти. НапримСр, userver ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΡ€ΠΈΠ³ΠΈΡ€Π°Ρ‚Π΅ Π³Ρ€Π΅ΡˆΠΊΠΈ Π½Π° Π΅Ρ‚Π°ΠΏΠ° Π½Π° компилация, ΠΌΠΎΠΆΠ΅ Π΄Π° Ρ€Π°Π±ΠΎΡ‚ΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ, Π΄Π° промСня ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Ρ‚.Π½. Π”Π΅ΠΊΠ»Π°Ρ€ΠΈΡ€Π°Π½Π° ΠΏΠΎΠ΄Π΄Ρ€ΡŠΠΆΠΊΠ° Π·Π° систСми Ubuntu, Debian, Fedora, Arch, Gentoo, macOS, x86, x86_64, AArch64, Arm Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€ΠΈ, ΠΊΠΎΠΌΠΏΠΈΠ»Π°Ρ‚ΠΎΡ€ΠΈ GCC 8+ ΠΈ Clang 9+, стандарти C++17, C++20, C++23.

Π‘ΡŠΡΡ‚Π°Π²ΡŠΡ‚ Π²ΠΊΠ»ΡŽΡ‡Π²Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ Π·Π° асинхронна Ρ€Π°Π±ΠΎΡ‚Π° с Π‘Π£Π‘Π” (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), асинхронно Ρ€Π°Π±ΠΎΡ‚Π΅Ρ‰ΠΈ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΈ ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»ΠΈ (HTTP, HTTPS, GRPC, TCP, UDP, TLS), ΠΏΡ€ΠΈΠΌΠΈΡ‚ΠΈΠ²ΠΈ Π½Π° ниско Π½ΠΈΠ²ΠΎ Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° синхронизацията ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ ΠΎΡ‚ високо Π½ΠΈΠ²ΠΎ Π·Π° Ρ€Π°Π±ΠΎΡ‚Π° с кСш, Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π°ΠΊΠ»ΡŽΡ‡Π²Π°Π½ΠΈΡ, прослСдяванС, ΠΌΠ΅Ρ‚Ρ€ΠΈΠΊΠΈ, статистики ΠΈ Π΄Π°Π½Π½ΠΈ във Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈ JSON/YAML/BSON. ΠŸΠΎΠ΄Π΄ΡŠΡ€ΠΆΠ° промяна Π½Π° конфигурацията Π½Π° услугата Π² Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅, Π±Π΅Π· Π΄Π° я спира.

ΠŸΡ€Π΅Π΄ΠΈ Ρ‚ΠΎΠ²Π° Yandex ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈ Π΄Ρ€ΡƒΠ³ΠΈΡ‚Π΅ си ΠΊΠ»ΡŽΡ‡ΠΎΠ²ΠΈ Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΎΡ‚Π²ΠΎΡ€Π΅Π½ΠΈ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΈ - Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ систСмата Π·Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Ρ€Π°Π·ΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ YDB, способна Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π²Π° ΠΌΠΈΠ»ΠΈΠΎΠ½ΠΈ заявки Π² сСкунда, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ°Ρ‚Π° Π·Π° машинно ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ CatBoost, която Yandex ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π² Π’ΡŠΡ€ΡΠ΅Π½Π΅ ΠΈ Π΄Ρ€ΡƒΠ³ΠΈ услуги.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€