Yandex hefur opnað kóðann fyrir umgjörð notendaþjónsins til að búa til háhleðsluforrit

Yandex hefur gefið út frumkóðann Userver ramma, sem gerir þér kleift að búa til háhlaðna forrit í C++ sem vinna í ósamstilltum ham. Ramminn hefur verið prófaður undir álagi á Yandex-stigi og er notaður í þjónustu eins og Yandex Go, Lavka, Delivery, Market og fintech verkefni. Kóði Userver er skrifaður í C++ og er opinn undir Apache 2.0 leyfinu.

Userver hentar best til að þróa forrit með örþjónustuarkitektúr. Upphaflega var ramminn þróaður fyrir Yandex Taxi, með hjálp þess skipti teymið úr einhæfu forriti yfir í arkitektúr sem gerir þér kleift að þróa aðskilda sjálfstæða íhluti (örþjónustur) og nota þá í mismunandi forritum. Örþjónustur eru sjálfstæðar, þannig að forrit sem byggir á svipuðum arkitektúr er auðvelt að uppfæra og bæta nýjum eiginleikum við það. Þannig er hægt að nota örþjónustuna til að finna bílstjóra fyrir leigubílapantanir fyrir svipað verkefni - til dæmis að finna hraðboða til að uppfylla Yandex afhendingarpantanir. Sama er hægt að gera með útreikning á komutíma bílstjóra eða sendiboða og mörg önnur verkefni.

Umgjörðin var upphaflega búin til með áherslu á áreiðanleika og þægindi og inni í honum er allt sem þarf til þróunar, greiningar, eftirlits, villuleitar og tilrauna. Til dæmis, userver stingur upp á því hvernig eigi að laga villur á samantektarstigi, geta unnið með mismunandi gagnagrunna, breytt breytum á flugi og svo framvegis. Yfirlýstur stuðningur við Ubuntu, Debian, Fedora, Arch, Gentoo, macOS kerfi, x86, x86_64, AArch64, Arm arkitektúr, GCC 8+ og Clang 9+ þýðendur, C++17, C++20, C++23 staðla.

Samsetningin inniheldur rekla fyrir ósamstillta vinnu með DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), ósamstillt starfandi viðskiptavini og netþjóna fyrir ýmsar samskiptareglur (HTTP, HTTPS, GRPC, TCP, UDP, TLS), frumstæður á lágu stigi fyrir samstillingarstjórnun og aðgangur að möguleikum stýrikerfisins, svo og íhlutum á háu stigi til að vinna með skyndiminni, verkefnum, dreifðum læsingum, rakningu, mæligildum, tölfræði og gögnum á JSON/YAML/BSON sniðum. Það styður breytingu á þjónustustillingum á flugu, án þess að stöðva hana.

Áður flutti Yandex aðra lykiltækni sína í formi opinna verkefna - til dæmis dreifða gagnagrunnsstjórnunarkerfið YDB, sem getur unnið úr milljónum beiðna á sekúndu, sem og CatBoost vélanámssafnið, sem Yandex notar í leit og öðrum þjónusta.

Heimild: opennet.ru

Bæta við athugasemd