Yandex wis mbukak kode kanggo kerangka pangguna kanggo nggawe aplikasi kanthi beban dhuwur

Yandex wis nerbitake kode sumber kerangka Userver, sing ngidini sampeyan nggawe aplikasi kanthi beban dhuwur ing C ++ sing bisa digunakake ing mode asinkron. Kerangka kasebut wis diuji ing beban tingkat Yandex lan digunakake ing layanan kayata Yandex Go, Lavka, Delivery, Market lan proyek fintech. Kode Userver ditulis ing C++ lan mbukak sumber ing lisensi Apache 2.0.

Pangguna paling cocog kanggo ngembangake aplikasi kanthi arsitektur layanan mikro. Kaping pisanan, kerangka kasebut dikembangake kanggo Yandex Taxi, kanthi bantuan tim kasebut ngalih saka aplikasi monolitik menyang arsitektur sing ngidini sampeyan ngembangake komponen independen sing kapisah (layanan mikro) lan digunakake ing macem-macem aplikasi. Microservices iku otonom, supaya aplikasi adhedhasar arsitektur padha gampang kanggo nganyari lan nambah fitur anyar. Mangkono, layanan mikro kanggo nemokake driver kanggo pesenan Taxi bisa digunakake kanggo tugas sing padha - contone, golek kurir kanggo nepaki pesenan Pangiriman Yandex. Sing padha bisa ditindakake kanthi ngitung wektu tekane sopir utawa kurir lan akeh tugas liyane.

Kerangka kasebut wiwitane digawe kanthi penekanan ing linuwih lan penak, lan ing jerone, kabeh sing dibutuhake kanggo pangembangan, diagnostik, pemantauan, debugging lan eksperimen diwenehake. Contone, userver nyaranake carane ndandani kesalahan ing tahap kompilasi, bisa nggarap database sing beda-beda, ngganti paramèter kanthi cepet, lan liya-liyane. Nyatakake dhukungan kanggo Ubuntu, Debian, Fedora, Arch, Gentoo, sistem macOS, x86, x86_64, AArch64, arsitektur Arm, kompiler GCC 8+ lan Clang 9+, standar C++17, C++20, C++23.

Komposisi kasebut kalebu driver kanggo karya asinkron karo DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), klien lan server sing ora sinkron kanggo macem-macem protokol (HTTP, HTTPS, GRPC, TCP, UDP, TLS), primitif tingkat rendah kanggo manajemen sinkronisasi lan akses menyang kemampuan sistem operasi, uga komponen tingkat dhuwur kanggo nggarap cache, tugas, kunci sing disebarake, nelusuri, metrik, statistik lan data ing format JSON / YAML / BSON. Ndhukung ngganti konfigurasi layanan kanthi cepet, tanpa mandheg.

Sadurunge, Yandex nransfer teknologi kunci liyane menyang wangun proyek mbukak - contone, sistem manajemen basis data sing disebarake YDB, sing bisa ngolah jutaan panjaluk saben detik, uga perpustakaan pembelajaran mesin CatBoost, sing digunakake Yandex ing Panelusuran lan liya-liyane. layanan.

Source: opennet.ru

Add a comment