Yandex te louvri kòd la pou kad itilizatè a pou kreye aplikasyon pou gwo chaj

Yandex te pibliye kòd sous kad Userver a, ki pèmèt ou kreye aplikasyon pou gwo chaj nan C++ ki travay nan mòd asynchrone. Fondasyon an te teste anba charj Yandex-nivo epi yo itilize nan sèvis tankou Yandex Go, Lavka, livrezon, mache ak pwojè fintech. Kòd itilizatè a ekri nan C++ epi li louvri sous lisans Apache 2.0.

Userver pi byen adapte pou devlope aplikasyon ak achitekti mikwosèvis. Okòmansman, fondasyon an te devlope pou Yandex Taxi, avèk èd li ekip la te chanje soti nan yon aplikasyon monolitik nan yon achitekti ki pèmèt ou devlope konpozan endepandan separe (mikwosèvis) epi sèvi ak yo nan aplikasyon diferan. Mikwosèvis yo otonòm, kidonk yon aplikasyon ki baze sou yon achitekti menm jan an fasil pou mete ajou epi ajoute nouvo karakteristik nan li. Kidonk, mikwosèvis pou jwenn yon chofè pou lòd taksi ka itilize pou yon travay menm jan an - pou egzanp, jwenn yon courrier pou akonpli lòd Yandex livrezon. Menm bagay la tou ka fè ak kalkile lè a rive nan yon chofè oswa courrier ak anpil lòt travay.

Te fondasyon an okòmansman kreye ak yon anfaz sou fyab ak konvenyans, ak andedan li, tout bagay ki nesesè pou devlopman, dyagnostik, siveyans, debogaj ak eksperyans yo bay. Pou egzanp, itilizatè sijere ki jan yo ranje erè nan etap nan konpilasyon, ka travay ak baz done diferan, chanje paramèt sou vole, ak sou sa. Te deklare sipò pou Ubuntu, Debian, Fedora, Arch, Gentoo, sistèm macOS, x86, x86_64, AArch64, Arm architectures, GCC 8+ ak Clang 9+ du, C++17, C++20, C++23 estanda.

Konpozisyon an gen ladan chofè pou travay asynchrone ak DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), kliyan k ap travay asynchrone ak sèvè pou divès pwotokòl (HTTP, HTTPS, GRPC, TCP, UDP, TLS), primitif ba nivo pou jesyon senkronizasyon. ak aksè nan kapasite sistèm operasyon an, osi byen ke eleman wo nivo pou travay ak kachèt, travay, kadna distribiye, trase, metrik, estatistik ak done nan fòma JSON/YAML/BSON. Li sipòte chanje konfigirasyon sèvis la sou vole, san yo pa sispann li.

Précédemment, Yandex te transfere lòt teknoloji kle li yo nan fòm pwojè louvri - pou egzanp, distribiye sistèm jesyon baz done YDB, ki kapab trete dè milyon de demann pou chak segonn, osi byen ke bibliyotèk aprantisaj machin CatBoost, ki Yandex itilize nan rechèch ak lòt. sèvis yo.

Sous: opennet.ru

Add nouvo kòmantè