Yandex tau qhib cov cai rau tus neeg siv lub moj khaum rau kev tsim cov ntawv thov siab

Yandex tau tshaj tawm cov cai ntawm Userver moj khaum, uas tso cai rau koj los tsim cov ntawv thov siab hauv C ++ uas ua haujlwm hauv hom asynchronous. Lub moj khaum tau raug sim nyob rau hauv Yandex-theem loads thiab yog siv nyob rau hauv cov kev pab cuam xws li Yandex Go, Lavka, xa, Kev ua lag luam thiab fintech tej yaam num. Tus neeg siv tus lej tau sau hauv C ++ thiab tau qhib los ntawm Apache 2.0 daim ntawv tso cai.

Tus neeg siv yog qhov zoo tshaj plaws rau kev tsim cov ntawv thov nrog microservice architecture. Thaum pib, lub moj khaum tau tsim los rau Yandex Taxi, nrog rau nws pab pawg tau hloov los ntawm daim ntawv thov monolithic mus rau ib qho kev tsim qauv uas tso cai rau koj los tsim cov khoom sib cais (microservices) thiab siv lawv hauv ntau daim ntawv thov. Microservices yog kev tswj hwm tus kheej, yog li daim ntawv thov raws li qhov zoo sib xws yog qhov yooj yim los hloov kho thiab ntxiv cov yam ntxwv tshiab rau nws. Yog li, microservice rau nrhiav tus neeg tsav tsheb rau Taxi xaj tuaj yeem siv rau txoj haujlwm zoo sib xws - piv txwv li, nrhiav tus xa xov los ua kom tiav Yandex Delivery xaj. Tib yam tuaj yeem ua tiav nrog kev suav lub sijhawm tuaj txog ntawm tus neeg tsav tsheb lossis tus neeg xa khoom thiab ntau lwm yam haujlwm.

Lub moj khaum tau pib tsim nrog qhov tseem ceeb ntawm kev ntseeg siab thiab kev yooj yim, thiab hauv nws, txhua yam tsim nyog rau kev txhim kho, kev kuaj mob, kev saib xyuas, kev debugging thiab kev sim yog muab. Piv txwv li, tus neeg siv qhia txog yuav ua li cas kho qhov tsis raug ntawm lub sijhawm muab tso ua ke, tuaj yeem ua haujlwm nrog cov ntaub ntawv sib txawv, hloov pauv tsis tau ntawm ya, thiab lwm yam. Tshaj tawm kev txhawb nqa rau Ubuntu, Debian, Fedora, Arch, Gentoo, macOS systems, x86, x86_64, AArch64, Arm architectures, GCC 8+ thiab Clang 9+ compilers, C ++ 17, C ++ 20, C ++ 23 tus qauv.

Cov muaj pes tsawg leeg suav nrog cov tsav tsheb rau asynchronous ua haujlwm nrog DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), asynchronously ua haujlwm cov neeg siv khoom thiab cov servers rau ntau yam kev cai (HTTP, HTTPS, GRPC, TCP, UDP, TLS), qis-theem primitives rau synchronization tswj. thiab nkag mus rau lub peev xwm ntawm kev ua haujlwm, nrog rau cov khoom siv qib siab rau kev ua haujlwm nrog cache, cov haujlwm, faib cov xauv, taug qab, ntsuas, txheeb cais thiab cov ntaub ntawv hauv JSON / YAML / BSON hom. Nws txhawb kev hloov cov kev pab cuam configuration ntawm ya, tsis txwv nws.

Yav dhau los, Yandex tau pauv nws lwm cov thev naus laus zis tseem ceeb rau daim ntawv qhib cov haujlwm - piv txwv li, kev faib cov ntaub ntawv tswj hwm YDB, muaj peev xwm ua tiav ntau lab ntawm kev thov ib ob, nrog rau CatBoost lub tsev qiv ntawv tshuab kawm, uas Yandex siv hauv Kev Tshawb Fawb thiab lwm yam. kev pabcuam.

Tau qhov twg los: opennet.ru

Ntxiv ib saib