Yandex dia nanokatra ny kaody ho an'ny rafitra mpampiasa ho an'ny famoronana rindranasa be entana

Yandex dia namoaka ny kaody loharanon'ny rafitra Userver, izay ahafahanao mamorona rindranasa avo lenta amin'ny C ++ izay miasa amin'ny fomba asynchronous. Ny rafitra dia nosedraina teo ambanin'ny entana Yandex-level ary ampiasaina amin'ny serivisy toy ny Yandex Go, Lavka, Delivery, Market ary tetikasa fintech. Ny kaody an'ny Userver dia voasoratra amin'ny C++ ary misokatra amin'ny alΓ lan'ny lisansa Apache 2.0.

Ny mpampiasa dia mety indrindra amin'ny famolavolana rindranasa miaraka amin'ny maritrano microservice. Tany am-boalohany, ny rafitra dia novolavolaina ho an'ny Yandex Taxi, miaraka amin'ny fanampiany ny ekipa dia nivadika tamin'ny fampiharana monolitika ho amin'ny maritrano izay ahafahanao manamboatra singa tsy miankina (microservices) ary mampiasa azy ireo amin'ny fampiharana samihafa. Ny microservices dia tsy miankina, noho izany dia mora ny manavao sy manampy endri-javatra vaovao ny fampiharana mifototra amin'ny maritrano mitovy. Noho izany, ny microservice amin'ny fitadiavana mpamily ho an'ny baikon'ny Taxi dia azo ampiasaina amin'ny asa mitovy - ohatra, ny fitadiavana iraka hanatanteraka ny baikon'ny Yandex Delivery. Toy izany koa no azo atao amin'ny kajy ny fotoana hahatongavan'ny mpamily na iraka ary asa maro hafa.

Ny rafitra dia noforonina tamin'ny voalohany tamin'ny fanamafisana ny fahamendrehana sy ny fahamendrehana, ary ao anatiny dia omena ny zava-drehetra ilaina amin'ny fampandrosoana, ny diagnostika, ny fanaraha-maso, ny debugging ary ny fanandramana. Ohatra, manoro hevitra ny mpampiasa ny fomba hamahana ny lesoka amin'ny dingana fanangonana, afaka miasa amin'ny angon-drakitra samihafa, manova ny masontsivana amin'ny lalitra, sns. Nanambara ny fanohanana ny Ubuntu, Debian, Fedora, Arch, Gentoo, rafitra macOS, x86, x86_64, AArch64, Arm architectures, GCC 8+ ary Clang 9+ compiler, C++17, C++20, C++23.

Ny sangan'asa dia ahitana mpamily ho an'ny asa asynchronous miaraka amin'ny DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), mpanjifa sy mpizara asynchronously ho an'ny protocols isan-karazany (HTTP, HTTPS, GRPC, TCP, UDP, TLS), primitives ambany ho an'ny fitantanana synchronization ary ny fidirana amin'ny fahaiza-manaon'ny rafitra miasa, ary koa ny singa avo lenta amin'ny fiasana amin'ny cache, ny asa, ny hidin-trano mizara, ny fanaraha-maso, ny metrika, ny antontan'isa ary ny angona amin'ny endrika JSON/YAML/BSON. Izy io dia manohana ny fanovana ny fandrindrana serivisy amin'ny lalitra, tsy manakana azy io.

Teo aloha, Yandex dia namindra ny teknolojia fototra hafa amin'ny endrika tetikasa misokatra - ohatra, ny rafitra fitantanana angon-drakitra mizara YDB, izay afaka manodina ny fangatahana an-tapitrisany isan-tsegondra, ary koa ny tranomboky fianarana milina CatBoost, izay ampiasain'i Yandex amin'ny Fikarohana sy ny hafa. serivisy.

Source: opennet.ru

Add a comment