Yandex ayaa u furtay koodka qaab dhismeedka adeegsadaha si loo abuuro codsiyada aadka u badan

Yandex ayaa daabacday koodhka isha ee qaab dhismeedka adeegsadaha, kaas oo kuu ogolaanaya inaad ku abuurto codsiyo culus oo C ++ ah oo ku shaqeeya habka asynchronous. Qaab dhismeedka waxaa lagu tijaabiyay culeyska heerka Yandex waxaana loo adeegsadaa adeegyada ay ka mid yihiin Yandex Go, Lavka, Delivery, Market iyo mashaariicda fintech. Koodhka isticmaalaha waxa uu ku qoran yahay C++ waxana uu ku furan yahay shatiga Apache 2.0.

Isticmaaluhu wuxuu ku habboon yahay horumarinta codsiyada leh qaab-dhismeedka microservice. Markii hore, qaab-dhismeedka waxaa loo sameeyay Yandex Taxi, iyada oo gacan ka heleysa kooxdu waxay ka beddeleen codsi monolithic ah oo u beddelaya qaab dhismeedka kaas oo kuu oggolaanaya inaad horumariso qaybo madax-bannaan oo kala duwan (adeegga yar yar) oo aad u isticmaasho codsiyo kala duwan. Adeegga yar-yar ayaa iskood isu maamula, marka codsiga ku salaysan qaab-dhismeedka la midka ah way fududahay in la cusboonaysiiyo oo lagu daro astaamo cusub. Sidaa darteed, adeeg-yaraha raadinta darawalka dalabaadka Taxi-ga waxaa loo isticmaali karaa hawl la mid ah - tusaale ahaan, helitaanka war-qaade si loo fuliyo amarrada bixinta Yandex. Si la mid ah ayaa lagu samayn karaa xisaabinta wakhtiga imaatinka darawalka ama dirawalka iyo hawlo kale oo badan.

Qaab-dhismeedka waxaa markii hore la abuuray iyada oo xoogga la saarayo isku hallaynta iyo ku habboonaanta, iyo gudaha, wax kasta oo lagama maarmaanka u ah horumarinta, ogaanshaha, la socodka, khaladka iyo tijaabooyinka ayaa la bixiyaa. Tusaale ahaan, isticmaaluhu wuxuu soo jeedinayaa sida loo saxo khaladaadka marxaladda isku-dubbaridka, wuxuu la shaqeyn karaa xog-ururineed oo kala duwan, beddelka xuduudaha duullimaadka, iyo wixii la mid ah. Taageerada lagu dhawaaqay Ubuntu, Debian, Fedora, Arch, Gentoo, macOS nidaamyada, x86, x86_64, AArch64, Arm architectures, GCC 8+ iyo Clang 9+ compilers, C++17, C++20, C++23 heerarka.

Halabuurka waxaa ka mid ah darawalada shaqada asynchronous ee leh DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), macaamiisha si isku mid ah u shaqeeya iyo server-yada borotokoolka kala duwan (HTTP, HTTPS, GRPC, TCP, UDP, TLS), horudhac hoose oo loogu talagalay maaraynta wada shaqaynta iyo helitaanka awoodaha nidaamka qalliinka, iyo sidoo kale qaybo heer sare ah oo loogu talagalay la shaqaynta kaydinta, hawlaha, qufulka la qaybiyey, raadinta, cabbirka, tirakoobka iyo xogta qaababka JSON/YAML/BSON. Waxay taageertaa beddelka qaabeynta adeegga duulista, iyada oo aan la joojin.

Markii hore, Yandex waxay u wareejisay tignoolajiyada kale ee muhiimka ah qaab mashruucyo furan - tusaale ahaan, nidaamka maamulka xogta ee loo qaybiyay YDB, oo awood u leh inuu ka baaraandego malaayiin codsi ah ilbiriqsi kasta, iyo sidoo kale maktabadda barashada mashiinka CatBoost, oo Yandex u adeegsato Raadinta iyo kuwa kale. adeegyada.

Source: opennet.ru

Add a comment