Yandex imefungua msimbo wa mfumo wa mtumiaji wa kuunda programu za mzigo wa juu

Yandex imechapisha msimbo wa chanzo wa mfumo wa Mtumiaji, ambayo inakuwezesha kuunda programu za mzigo wa juu katika C ++ zinazofanya kazi kwa hali ya asynchronous. Mfumo huo umejaribiwa chini ya mizigo ya kiwango cha Yandex na hutumiwa katika huduma kama vile miradi ya Yandex Go, Lavka, Uwasilishaji, Soko na fintech. Msimbo wa Mtumiaji umeandikwa katika C++ na unapatikana wazi chini ya leseni ya Apache 2.0.

Mtumiaji anafaa zaidi kwa kukuza programu na usanifu wa huduma ndogo. Hapo awali, mfumo ulitengenezwa kwa Teksi ya Yandex, kwa msaada wake timu ilibadilisha kutoka kwa programu ya monolithic hadi usanifu ambayo hukuruhusu kukuza vifaa vya kujitegemea (microservices) na kuzitumia katika matumizi tofauti. Huduma ndogo ni za uhuru, kwa hivyo programu kulingana na usanifu sawa ni rahisi kusasisha na kuongeza huduma mpya kwake. Kwa hivyo, huduma ndogo ya kupata dereva kwa maagizo ya teksi inaweza kutumika kwa kazi sawa - kwa mfano, kutafuta mjumbe wa kutimiza maagizo ya Utoaji wa Yandex. Vile vile vinaweza kufanywa kwa kuhesabu wakati wa kuwasili kwa dereva au mjumbe na kazi zingine nyingi.

Mfumo huo hapo awali uliundwa kwa msisitizo juu ya kuegemea na urahisi, na ndani yake, kila kitu muhimu kwa maendeleo, uchunguzi, ufuatiliaji, utatuzi na majaribio hutolewa. Kwa mfano, mtumiaji anapendekeza jinsi ya kurekebisha makosa katika hatua ya mkusanyiko, inaweza kufanya kazi na hifadhidata tofauti, kubadilisha vigezo kwenye kuruka, na kadhalika. Imetangaza msaada kwa Ubuntu, Debian, Fedora, Arch, Gentoo, mifumo ya macOS, x86, x86_64, AArch64, usanifu wa Arm, GCC 8+ na wakusanyaji wa Clang 9+, viwango vya C++17, C++20, C++23.

Muundo huo ni pamoja na viendeshi vya kazi isiyo ya kawaida na DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), wateja wanaofanya kazi kwa usawa na seva za itifaki anuwai (HTTP, HTTPS, GRPC, TCP, UDP, TLS), viwango vya chini vya usimamizi wa maingiliano. na upatikanaji wa uwezo wa mfumo wa uendeshaji, pamoja na vipengele vya juu vya kufanya kazi na cache, kazi, kufuli zilizosambazwa, ufuatiliaji, metrics, takwimu na data katika muundo wa JSON/YAML/BSON. Inasaidia kubadilisha usanidi wa huduma kwenye kuruka, bila kuizuia.

Hapo awali, Yandex ilihamisha teknolojia zake zingine muhimu kwa aina ya miradi iliyo wazi - kwa mfano, mfumo wa usimamizi wa hifadhidata uliosambazwa YDB, wenye uwezo wa kusindika mamilioni ya maombi kwa sekunde, pamoja na maktaba ya kujifunza mashine ya CatBoost, ambayo Yandex hutumia katika Utafutaji na zingine. huduma.

Chanzo: opennet.ru

Kuongeza maoni