Yandex ji bo afirandina serîlêdanên bargiraniya bilind koda çarçoveya bikarhênerê vekiriye

Yandex koda çavkaniyê ya çarçoveya Userver-ê weşandiye, ku destûrê dide te ku hûn di C++ de serîlêdanên bargiraniyê yên ku di moda asynchronous de dixebitin biafirînin. Çarçove di bin barkirinên asta Yandex de hatiye ceribandin û di karûbarên wekî Yandex Go, Lavka, Delivery, Market û projeyên fintech de tê bikar anîn. Koda bikarhêner bi C++-ê hatiye nivîsandin û di bin lîsansa Apache 2.0 de ye.

Bikarhêner ji bo pêşkeftina serîlêdanên bi mîmariya mîkroxizmetê çêtirîn e. Di destpêkê de, çarçove ji bo Yandex Taxi hate pêşve xistin, bi alîkariya wê tîmê ji serîlêdanek monolîtîk veguherî mîmariyek ku destûrê dide te ku hûn hêmanên serbixwe yên cihê (mikroxizmet) pêşve bibin û wan di serîlêdanên cihêreng de bikar bînin. Mîkroxizmet xweser in, ji ber vê yekê serîlêdanek ku li ser mîmariyek heman rengî ye nûvekirina hêsan e û taybetmendiyên nû li wê zêde dike. Bi vî rengî, mîkroxizmeta ji bo dîtina ajokerek ji bo fermanên Taksiyê dikare ji bo peywirek wekhev were bikar anîn - mînakî, peydakirina kuryeyek ji bo pêkanîna fermanên Radestkirina Yandex. Heman tişt dikare bi hesabkirina dema hatina ajokerek an kurye û gelek karên din re were kirin.

Çarçove di destpêkê de bi giranî li ser pêbawerî û rehetiyê hate afirandin, û di hundurê wê de, her tiştê ku ji bo pêşkeftin, tespîtkirin, şopandin, debugkirin û ceribandinan hewce dike tê peyda kirin. Mînakî, bikarhêner pêşniyar dike ka meriv çawa di qonaxa berhevkirinê de xeletiyan rast dike, dikare bi databasên cihêreng bixebite, li ser gavê pîvanan biguhezîne, û hwd. Ji bo pergalên Ubuntu, Debian, Fedora, Arch, Gentoo, macOS, x86, x86_64, AArch64, mîmariyên Arm, berhevkarên GCC 8+ û Clang 9+, standardên C++17, C++20, C++23 piştgirî dane.

Kompozîsyona ajokarên ji bo xebata asynchron bi DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), xerîdar û pêşkêşkerên asynkron ên ji bo protokolên cihêreng (HTTP, HTTPS, GRPC, TCP, UDP, TLS), primitives-asta nizm ji bo rêveberiya hevdengkirinê vedihewîne. û gihîştina kapasîteyên pergala xebitandinê, û her weha hêmanên astek bilind ên ji bo xebata bi cache, peywir, kilîdên belavkirî, şopandin, metris, statîstîk û daneyan di formatên JSON/YAML/BSON de. Ew piştgirî dide guheztina veavakirina karûbarê di firînê de, bêyî rawestandina wê.

Berê, Yandex teknolojiyên xwe yên sereke yên din veguhezand forma projeyên vekirî - mînakî, pergala rêveberiya databasê ya belavkirî YDB, ku karibe bi mîlyonan daxwazan di çirkeyê de bişopîne, û her weha pirtûkxaneya fêrbûna makîneyê CatBoost, ku Yandex di Lêgerîn û yên din de bikar tîne. xizmetên.

Source: opennet.ru

Add a comment