Яндекс коди чаҳорчӯбаи корбарро барои эҷоди замимаҳои пурбор кушод

Яндекс рамзи сарчашмаи чаҳорчӯбаи Userver-ро нашр кард, ки ба шумо имкон медиҳад замимаҳои серборро дар C++ эҷод кунед, ки дар реҷаи асинхронӣ кор мекунанд. Чаҳорчӯба таҳти сарбориҳои сатҳи Яндекс озмуда шудааст ва дар хидматҳо ба монанди Yandex Go, Lavka, Delivery, Market ва лоиҳаҳои финтех истифода мешавад. Рамзи корбар дар C++ навишта шудааст ва дар асоси иҷозатномаи Apache 2.0 иҷозатнома дорад.

Userver барои таҳияи барномаҳо бо меъмории микросервис беҳтарин мувофиқ аст. Дар аввал чаҳорчӯба барои Яндекс Такси таҳия шуда буд, ки бо кӯмаки он даста аз як барномаи монолитӣ ба меъморӣ гузашт, ки ба шумо имкон медиҳад ҷузъҳои алоҳидаи мустақил (микросервисҳо) таҳия карда, онҳоро дар замимаҳои гуногун истифода баред. Микросервисҳо худмухтор мебошанд, аз ин рӯ замимаеро, ки ба меъмории шабеҳ асос ёфтааст, навсозӣ кардан ва илова кардани хусусиятҳои нав ба он осон аст. Ҳамин тариқ, хидматрасонии хурд барои дарёфти ронанда барои фармоишҳои такси метавонад барои як вазифаи шабеҳ истифода шавад - масалан, дарёфти хаткашон барои иҷрои фармоишҳои Yandex Delivery. Айнан хамин корро бо хисоб кардани вакти омадани ронанда ё хаткашон ва бисьёр корхои дигар кардан мумкин аст.

Чаҳорчӯба дар ибтидо бо таваҷҷӯҳ ба эътимоднокӣ ва роҳат сохта шуда буд ва дар дохили он ҳама чизҳои зарурӣ барои таҳия, ташхис, мониторинг, ислоҳ ва таҷрибаҳо таъмин карда шудаанд. Масалан, корбар пешниҳод мекунад, ки чӣ гуна хатогиҳоро дар марҳилаи тартибдиҳӣ ислоҳ кунад, метавонад бо пойгоҳи додаҳои гуногун кор кунад, параметрҳоро дар парвоз тағир диҳад ва ғайра. Дастгирии эълоншуда барои Ubuntu, Debian, Fedora, Arch, Gentoo, системаҳои macOS, x86, x86_64, AArch64, меъмории Arm, GCC 8+ ва Clang 9+ компиляторҳо, стандартҳои C++17, C++20, C++23.

Таркиб драйверҳоро барои кори асинхронӣ бо DBMS (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), мизоҷҳо ва серверҳои асинхронӣ барои протоколҳои гуногун (HTTP, HTTPS, GRPC, TCP, UDP, TLS), примитивҳои сатҳи паст барои идоракунии ҳамоҳангсозӣ дар бар мегирад. ва дастрасӣ ба имкониятҳои системаи амалиётӣ, инчунин ҷузъҳои сатҳи баланд барои кор бо кэш, вазифаҳо, қулфҳои тақсимшуда, пайгирӣ, метрика, омор ва маълумот дар форматҳои JSON/YAML/BSON. Он тағир додани конфигуратсияи хидматро дар парвоз бидуни қатъи он дастгирӣ мекунад.

Пештар, Яндекс дигар технологияҳои калидии худро ба шакли лоиҳаҳои кушода интиқол дод - масалан, системаи тақсимшудаи идоракунии пойгоҳи додаҳои YDB, ки қодир аст миллионҳо дархостҳоро дар як сония коркард кунад, инчунин китобхонаи омӯзиши мошини CatBoost, ки Яндекс дар ҷустуҷӯ ва ғайра истифода мебарад. хизматрасонй.

Манбаъ: opennet.ru

Илова Эзоҳ