Yandex fetaħ il-kodiċi għall-qafas tal-utent għall-ħolqien ta 'applikazzjonijiet ta' tagħbija għolja

Yandex ippubblika l-kodiċi tas-sors tal-qafas Userver, li jippermettilek toħloq applikazzjonijiet ta 'tagħbija għolja f'C++ li jaħdmu f'modalità asinkronika. Il-qafas ġie ttestjat taħt tagħbijiet fil-livell Yandex u jintuża f'servizzi bħal Yandex Go, Lavka, Delivery, Market u proġetti fintech. Il-kodiċi tal-utent huwa miktub f'C++ u huwa open source taħt il-liċenzja Apache 2.0.

Userver huwa l-aktar adattat għall-iżvilupp ta' applikazzjonijiet b'arkitettura ta' mikroservizzi. Inizjalment, il-qafas ġie żviluppat għal Yandex Taxi, bl-għajnuna tiegħu t-tim qaleb minn applikazzjoni monolitika għal arkitettura li tippermettilek tiżviluppa komponenti indipendenti separati (mikroservizzi) u tużahom f'applikazzjonijiet differenti. Il-mikroservizzi huma awtonomi, għalhekk applikazzjoni bbażata fuq arkitettura simili hija faċli biex taġġornaha u żżid karatteristiċi ġodda magħha. Għalhekk, il-mikroservizz biex jinstab xufier għall-ordnijiet tat-Taxi jista 'jintuża għal kompitu simili - pereżempju, isib kurrier biex iwettaq ordnijiet ta' Kunsinna Yandex. L-istess jista 'jsir bil-kalkolu tal-ħin tal-wasla ta' sewwieq jew kurrier u ħafna kompiti oħra.

Il-qafas inizjalment inħoloq b'enfasi fuq l-affidabbiltà u l-konvenjenza, u ġewwa fih, huwa pprovdut dak kollu meħtieġ għall-iżvilupp, dijanjostika, monitoraġġ, debugging u esperimenti. Pereżempju, userver jissuġġerixxi kif jiffissa l-iżbalji fl-istadju tal-kumpilazzjoni, jista 'jaħdem ma' databases differenti, ibiddel il-parametri fuq il-fly, eċċ. Appoġġ iddikjarat għal Ubuntu, Debian, Fedora, Arch, Gentoo, sistemi macOS, x86, x86_64, AArch64, arkitetturi Arm, kompilaturi GCC 8+ u Clang 9+, standards C++17, C++20, C++23.

Il-kompożizzjoni tinkludi sewwieqa għal xogħol asinkroniku b'DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), klijenti u servers li jaħdmu b'mod asinkroniku għal diversi protokolli (HTTP, HTTPS, GRPC, TCP, UDP, TLS), primittivi ta' livell baxx għall-ġestjoni tas-sinkronizzazzjoni u aċċess għall-kapaċitajiet tas-sistema operattiva, kif ukoll komponenti ta 'livell għoli biex jaħdmu ma' cache, kompiti, serraturi distribwiti, traċċar, metriċi, statistika u data f'formati JSON/YAML/BSON. Jappoġġa t-tibdil tal-konfigurazzjoni tas-servizz fuq il-fly, mingħajr ma jwaqqafha.

Preċedentement, Yandex ittrasferixxa t-teknoloġiji ewlenin l-oħra tiegħu għall-forma ta 'proġetti miftuħa - per eżempju, is-sistema ta' ġestjoni tad-database distribwita YDB, kapaċi tipproċessa miljuni ta 'talbiet kull sekonda, kif ukoll il-librerija tat-tagħlim tal-magni CatBoost, li Yandex juża fit-Tiftix u oħrajn. servizzi.

Sors: opennet.ru

Żid kumment