Yandex විසින් C++ හි යෙදුම් නිර්මාණය කිරීමේ රාමුවක් වන Userver හි මූල කේතය නිකුත් කරන ලදී

Yandex විසින් මූලාශ්ර කේතය ප්රකාශයට පත් කර ඇත රාමුවේ පරිශීලක දැක්ම, අසමමුහුර්ත ආකාරයෙන් ක්‍රියා කරන අධික ලෙස පටවන ලද C++ යෙදුම් නිර්මාණය කිරීමට ඔබට ඉඩ සලසයි. රාමුව Yandex මට්ටමේ උඩුගත කිරීම් මත පරීක්ෂා කර ඇත සහ Yandex Go, Lavka, Delivery, Market සහ fintech ව්‍යාපෘති වැනි සේවාවන්හි භාවිතා වේ.

පරිශීලක දැක්ම එය ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පය සමඟ යෙදුම් සංවර්ධනය කිරීම සඳහා වඩාත් සුදුසු වේ. මුලදී, ලකුණහෝ Yandex ටැක්සි සඳහා සංවර්ධනය කරන ලදී, ඔහුගේ සහාය ඇතිව, කණ්ඩායම ඔබට වෙනම ස්වාධීන සංරචක (ක්ෂුද්‍ර සේවා) සංවර්ධනය කිරීමට සහ විවිධ යෙදුම්වල ඒවා භාවිතා කිරීමට ඉඩ සලසන ගෘහ නිර්මාණ ශිල්පයකට මොනොලිතික් යෙදුමකින් වෙනස් විය.

අද අපි ප්‍රකාශ කරන්නේ අධි බර යෙදුම් ගොඩනැගීම සඳහා විවෘත මූලාශ්‍ර පරිශීලක රාමුව මුදා හැරීමයි. අපට, මෙය අප විසින් රැස් කර ඇති ක්ෂුද්‍ර සේවා සංවර්ධනය කිරීමේ අත්දැකීම් බෙදා ගැනීමට වැදගත් ක්‍රමයකි. මෙන්න මූලාශ්‍ර කේතය, ප්‍රලේඛනය, සාම්පල, ඔබේම සේවාවන් (CI වින්‍යාස කර ඇති, ගොඩනැගීම සහ පරීක්ෂා කිරීමේ පරිසරය සමඟ) නිර්මාණය කිරීම සඳහා අච්චුවක් සහ ගතික වින්‍යාස කිරීමේ සේවාවක් සහිත GitHub ගබඩාවකට සබැඳියක්. මේ සියල්ල Apache 2.0 බලපත්‍රය යටතේ නිකුත් වේ.

ක්ෂුද්‍ර සේවා ස්වයංක්‍රීයයි, එබැවින් එවැනි ගෘහ නිර්මාණ ශිල්පයක් මත පදනම් වූ යෙදුමක් යාවත්කාලීන කිරීම සහ එයට නව විශේෂාංග එකතු කිරීම පහසුය. එබැවින්, කුලී රථ ඇණවුම් සඳහා රියදුරෙකු සොයා ගැනීම සඳහා ක්ෂුද්ර සේවාව සමාන කාර්යයක් සඳහා භාවිතා කළ හැකිය, නිදසුනක් ලෙස, Yandex Delivery ඇණවුම් ඉටු කිරීම සඳහා කුරියර් සොයා ගැනීම. රියදුරුගේ හෝ කුරියර්ගේ පැමිණීමේ කාලය සහ වෙනත් බොහෝ කාර්යයන් ගණනය කිරීමත් සමඟම සිදු කළ හැකිය.

රාමුව මුලින් නිර්මාණය කර ඇත්තේ විශ්වසනීයත්වය සහ පහසුව අවධාරණය කිරීමෙනි. සහ ඇතුළත එය සංවර්ධනය, රෝග විනිශ්චය, අධීක්ෂණය, නිදොස්කරණය සහ අත්හදා බැලීම් සඳහා ඔබට අවශ්‍ය සියල්ල සපයයි. උදාහරණයක් ලෙස, පරිශීලකයා ගොඩනැගීමේ අදියරේදී දෝෂ නිවැරදි කරන්නේ කෙසේදැයි යෝජනා කරයි, විවිධ දත්ත සමුදායන් සමඟ වැඩ කරන්නේ කෙසේදැයි දනී, පියාසර කිරීමේදී පරාමිතීන් වෙනස් කිරීම යනාදිය.

සංයුතිය සම්බන්ධයෙන්, එය සඳහන් වේ DBMS සමඟ අසමමුහුර්ත වැඩ සඳහා ධාවක ඇතුළත් වේ (MongoDB, PostgreSQL, Redis, ClickHouse, MySQL), විවිධ ප්‍රොටෝකෝල (HTTP, HTTPS, GRPC, TCP, UDP, TLS) සඳහා අසමමුහුර්තව ක්‍රියා කරන සේවාලාභීන් සහ සේවාදායකයන්, සමමුහුර්තකරණය සහ පද්ධති හැකියාවන් වෙත ප්‍රවේශය කළමනාකරණය කිරීම සඳහා පහත් මට්ටමේ ප්‍රාථමිකයන් JSON/YAML/BSON ආකෘතිවලින් හැඹිලිගත කිරීම, කාර්යයන්, බෙදා හරින ලද අගුල්, ලුහුබැඳීම, ප්‍රමිතික, සංඛ්‍යාලේඛන සහ දත්ත සමඟ වැඩ කිරීමට ඉහළ මට්ටමේ සංරචක සහ එය නතර නොකර පියාසර කරන විට සේවා වින්‍යාසය වෙනස් කිරීමට සහාය වේ.

අවාසි සම්බන්ධයෙන් ගත් කල මොනොලිතික් ගෘහනිර්මාණ ශිල්පයේ පහත සඳහන් දේ සඳහන් වේ:

  • ඒකලිතයක් තුළ සියලුම කේතයන් ඒකාබද්ධ කිරීම. විශාල කේත පදනමක් සමඟ, ගොඩනැගීමට සහ පරීක්ෂා කිරීමට පැය ගණනක් ගත විය හැකි අතර, යෙදවීමට මුළු දවසම ගත විය හැක.
  • කේතයේ විවිධ කොටස්වල සමීප අන්තර්ක්‍රියා. මොනොලිත් එකේ විවිධ කොටස් වලට අතුරු මුහුණත් අවුල් නොවීමට කේත සමාලෝචන සඳහා ඔබට විශාල උත්සාහයක් දැරීමට සිදුවේ.
  • අස්ථාවරත්වය. එක් මොඩියුලයක වෙනසක් තවත් මොඩියුලයක් බිඳ දැමිය හැකිය.
  • වගකීම් සහිත අංශ බොඳ වී ඇත. සංවර්ධන ක්‍රියාවලියේදී, කේතයේ බොහෝ කොටස් සාමාන්‍යකරණය වේ, විවිධ කණ්ඩායම් විසින් භාවිතා කිරීමට පටන් ගනී, මෙය හොඳයි. නමුත් ප්රතිඵලයක් වශයෙන්, ප්රතිඵලය වන මොඩියුලයට වගකිව යුත්තේ කවුරුන්ද යන්න පැහැදිලි නැත: පළමු කතුවරුන්; වැඩිපුරම සංස්කරණයන් කළ අය; හෝ කේතයේ මොඩියුලය වඩාත් ක්රියාශීලීව භාවිතා කරන අය.

මීට පෙර, Yandex එහි අනෙකුත් ප්‍රධාන තාක්ෂණයන් විවෘත ව්‍යාපෘති ආකාරයෙන් මාරු කර ඇත, උදාහරණයක් ලෙස, YDB බෙදා හරින ලද දත්ත සමුදා කළමනාකරණ පද්ධතිය, තත්පරයකට මිලියන ගණනක් ඉල්ලීම් සැකසීමට හැකියාව ඇති අතර, Yandex Search සහ වෙනත් වලදී භාවිතා කරන CatBoost යන්ත්‍ර ඉගෙනුම් පුස්තකාලය. සේවාවන්.

අවසානයේ ඒ ගැන වැඩි විස්තර දැන ගැනීමට කැමති අය සඳහාUbuntu, Debian, Fedora, Arch, Gentoo, macOS පද්ධති, x86, x86_64, AArch64, Arm architectures, GCC 8+ සහ Clang 9+ සම්පාදක, C++17 ප්‍රමිතීන්, C+ +20 සඳහා දැනට Userver සහාය දක්වන බව කරුණාවෙන් සලකන්න. ++23.

පරිශීලක කේතය C++ සහ ලියා ඇත එය විවෘතයි Apache 2.0 බලපත්‍රය යටතේ සහ උපදෙස් ලබා ගත හැක පහත සබැඳිය.


ලිපියේ අන්තර්ගතය අපගේ මූලධර්මවලට අනුකූල වේ කතුවැකි ආචාර ධර්ම. දෝෂයක් වාර්තා කිරීමට ක්ලික් කරන්න මෙන්න.

අදහස් පළ කිරීමට ප්රථම වන්න

ඔබේ අදහස තබන්න

ඔබේ ඊ-මේල් ලිපිනය පළ කරනු නොලැබේ. අවශ්ය ක්ෂේත්ර දක්වා ඇති ලකුණ *

*

*

  1. දත්ත සඳහා වගකිව යුතු: මිගෙල් ඇන්ජල් ගැටන්
  2. දත්තවල අරමුණ: SPAM පාලනය කිරීම, අදහස් කළමනාකරණය.
  3. නීත්‍යානුකූලභාවය: ඔබේ කැමැත්ත
  4. දත්ත සන්නිවේදනය: නෛතික බැඳීමකින් හැර දත්ත තෙවන පාර්ශවයකට සන්නිවේදනය නොකෙරේ.
  5. දත්ත ගබඩා කිරීම: ඔක්සෙන්ටස් නෙට්වර්ක්ස් (EU) විසින් සත්කාරකත්වය දක්වන දත්ත සමුදාය
  6. අයිතිවාසිකම්: ඕනෑම වේලාවක ඔබට ඔබේ තොරතුරු සීමා කිරීමට, නැවත ලබා ගැනීමට සහ මකා දැමීමට හැකිය.