Tha Yandex air an còd fhosgladh airson frèam an neach-cleachdaidh airson a bhith a’ cruthachadh thagraidhean làn luchd

Tha Yandex air còd stòr frèam Userver fhoillseachadh, a leigeas leat tagraidhean làn luchd a chruthachadh ann an C ++ a bhios ag obair ann am modh asyncronach. Chaidh am frèam a dhearbhadh fo luchdan ìre Yandex agus tha e air a chleachdadh ann an seirbheisean leithid Yandex Go, Lavka, Lìbhrigeadh, Margaidh agus pròiseactan fintech. Tha còd cleachdaiche sgrìobhte ann an C ++ agus tha e fosgailte fo chead Apache 2.0.

Tha an cleachdaiche as freagarraiche airson tagraidhean a leasachadh le ailtireachd microservice. An toiseach, chaidh am frèam a leasachadh airson Yandex Taxi, le a chuideachadh ghluais an sgioba bho thagradh monolithic gu ailtireachd a leigeas leat pàirtean neo-eisimeileach fa leth (microservices) a leasachadh agus an cleachdadh ann an diofar thagraidhean. Tha microservices neo-eisimeileach, agus mar sin tha tagradh stèidhichte air ailtireachd coltach ris furasta ùrachadh agus feartan ùra a chur ris. Mar sin, faodar am microservice airson draibhear a lorg airson òrdughan tacsaidh a chleachdadh airson gnìomh coltach ris - mar eisimpleir, lorg teachdaire gus òrdughan lìbhrigidh Yandex a choileanadh. Faodar an aon rud a dhèanamh le bhith a’ cunntadh àm ruighinn draibhear no teachdaire agus mòran ghnìomhan eile.

Chaidh am frèam a chruthachadh an toiseach le cuideam air earbsachd agus goireasachd, agus taobh a-staigh e, tha a h-uile dad a tha riatanach airson leasachadh, breithneachadh, sgrùdadh, debugging agus deuchainnean air a thoirt seachad. Mar eisimpleir, tha an cleachdaiche a 'moladh mar a chuireas tu mearachdan air dòigh aig an ìre cruinneachaidh, is urrainn dhaibh obrachadh le diofar stòran-dàta, atharrachadh crìochan air an itealan, agus mar sin air adhart. Taic dearbhte airson siostaman Ubuntu, Debian, Fedora, Arch, Gentoo, macOS, x86, x86_64, AArch64, Arm ailtireachd, GCC 8+ agus luchd-cruinneachaidh Clang 9+, inbhean C ++17, C ++20, C ++23.

Tha an sgrìobhadh a’ toirt a-steach draibhearan airson obair asyncronach le DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), teachdaichean a tha ag obair gu neo-chinnteach agus frithealaichean airson diofar phròtacalan (HTTP, HTTPS, GRPC, TCP, UDP, TLS), prìomhairean ìre ìosal airson riaghladh sioncronaidh. agus ruigsinneachd gu comasan an t-siostaim obrachaidh, a bharrachd air co-phàirtean àrd-ìre airson a bhith ag obair le tasgadan, gnìomhan, glasan sgaoilte, lorg, meatrach, staitistig agus dàta ann an cruthan JSON / YAML / BSON. Bidh e a’ toirt taic do bhith ag atharrachadh rèiteachadh na seirbheis air an itealan, gun a bhith ga stad.

Roimhe sin, ghluais Yandex na prìomh theicneòlasan eile aige gu cruth phròiseactan fosgailte - mar eisimpleir, an siostam riaghlaidh stòr-dàta sgaoilte YDB, comasach air milleanan de dh ’iarrtasan gach diog a ghiullachd, a bharrachd air leabharlann ionnsachaidh inneal CatBoost, a bhios Yandex a’ cleachdadh ann an Search agus eile. seirbhisean.

Source: fosgailtenet.ru

Cuir beachd ann