වාස්තුවිද්‍යාත්මක ශෛලියක් තෝරා ගැනීම (3 කොටස)

හෙලෝ, හබ්ර්. අද මම පාඨමාලාවේ නව ප්‍රවාහයක් ආරම්භ කිරීම සඳහා විශේෂයෙන් ලියූ ප්‍රකාශන මාලාවක් දිගටම කරගෙන යන්නෙමි. "මෘදුකාංග ගෘහ නිර්මාණ ශිල්පියා".

හැඳින්වීම

වාස්තුවිද්යාත්මක ශෛලිය තෝරා ගැනීම තොරතුරු පද්ධතියක් ගොඩනැගීමේදී මූලික තාක්ෂණික තීරණවලින් එකකි. මෙම ලිපි මාලාවේ, ගොඩනැගිලි යෙදුම් සඳහා වඩාත් ජනප්‍රිය වාස්තුවිද්‍යාත්මක විලාසයන් විශ්ලේෂණය කිරීමට සහ කුමන ගෘහනිර්මාණ ශෛලිය වඩාත් සුදුසු වන්නේ කවදාද යන ප්‍රශ්නයට පිළිතුරු දීමට මම යෝජනා කරමි. ඉදිරිපත් කිරීමේ ක්‍රියාවලියේදී, මොනොලිත් සිට ක්ෂුද්‍ර සේවා දක්වා වාස්තුවිද්‍යාත්මක ශෛලීන් වර්ධනය කිරීම පැහැදිලි කරන තාර්කික දාමයක් ඇඳීමට මම උත්සාහ කරමි.

පසුගිය වතාවේ අපි විවිධ වර්ගයේ මොනොලිත් වර්ග සහ ඒවා තැනීමට සංරචක භාවිතා කිරීම, ගොඩනැගීමේ සංරචක සහ යෙදවුම් සංරචක යන දෙකම ගැන කතා කළෙමු. අපි සේවා-නැඹුරු ගෘහ නිර්මාණ ශිල්පය තේරුම් ගනිමු.

දැන් අපි අවසාන වශයෙන් microservice architecture එකක ප්‍රධාන ලක්ෂණ නිර්වචනය කරමු.

ගෘහ නිර්මාණ ශිල්පයේ සම්බන්ධතාවය

පෙර ලිපිවල දක්වා ඇති නිර්වචන මත පදනම්ව, ඕනෑම සේවාවක් සංරචකයක් වන නමුත් සෑම සේවාවක්ම ක්ෂුද්‍ර සේවාවක් නොවන බව තේරුම් ගත යුතුය.

ක්ෂුද්ර සේවා ගෘහ නිර්මාණ ශිල්පයේ ලක්ෂණ

ක්ෂුද්ර සේවා ගෘහ නිර්මාණ ශිල්පයේ ප්රධාන ලක්ෂණ වන්නේ:

  • ව්යාපාර හැකියාවන් වටා සංවිධානය කර ඇත
  • නිෂ්පාදන ව්‍යාපෘති නොවේ
  • ස්මාර්ට් අන්ත ලක්ෂ්‍ය සහ ගොළු පයිප්ප
  • විමධ්‍යගත පාලනය
  • විමධ්‍යගත දත්ත කළමනාකරණය
  • යටිතල පහසුකම් ස්වයංක්රීයකරණය
  • අසාර්ථකත්වය සඳහා නිර්මාණය
  • පරිණාමීය සංවර්ධනය සහිත ගෘහ නිර්මාණ ශිල්පය (පරිණාමීය නිර්මාණය)

1 වන කරුණ පැමිණෙන්නේ සේවා-නැඹුරු ගෘහනිර්මාණ ශිල්පයෙනි, මන්ද ක්ෂුද්‍ර සේවා යනු සේවා සඳහා විශේෂ අවස්ථාවක් වන බැවිනි. අනෙකුත් කරුණු වෙනම සලකා බැලිය යුතුය.

ව්යාපාර හැකියාවන් වටා සංවිධානය කර ඇත

දැන් කොන්වේගේ නීතිය මතක තබා ගැනීම අවශ්ය වේ: පද්ධති නිර්මාණය කරන සංවිධාන එහි ගෘහ නිර්මාණ ශිල්පය සංවිධානය කරයි, මෙම සංවිධාන තුළ අන්තර් ක්රියාකාරිත්වයේ ව්යුහය පිටපත් කරයි. උදාහරණයක් ලෙස, සම්පාදකයක් නිර්මාණය කිරීමේ සිද්ධිය අපට සිහිපත් කළ හැකිය: පුද්ගලයන් හත් දෙනෙකුගෙන් යුත් කණ්ඩායමක් හත-පාස් සම්පාදකයක් නිපදවූ අතර පස් දෙනෙකුගෙන් යුත් කණ්ඩායමක් පස්-පාස් සම්පාදකයක් සංවර්ධනය කළහ.

අපි මොනොලිත් සහ ක්ෂුද්‍ර සේවා ගැන කතා කරන්නේ නම්, ක්‍රියාකාරී දෙපාර්තමේන්තු (පසුපස, ඉදිරිපස, දත්ත සමුදා පරිපාලකයින්) විසින් සංවර්ධනය සංවිධානය කර ඇත්නම්, අපට සම්භාව්‍ය මොනොලිත් එකක් ලැබේ.

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

නිෂ්පාදන ව්‍යාපෘති නොවේ

කණ්ඩායමක් සංවර්ධිත ක්‍රියාකාරීත්වය වෙනත් කණ්ඩායම් වෙත මාරු කරන ව්‍යාපෘති ප්‍රවේශයක් ක්ෂුද්‍ර සේවා ගෘහ නිර්මාණ ශිල්පය සම්බන්ධයෙන් සම්පූර්ණයෙන්ම නුසුදුසුය. කණ්ඩායම එහි ජීවන චක්‍රය පුරාම පද්ධතියට සහාය විය යුතුය. ක්ෂුද්‍ර සේවා ක්‍රියාත්මක කිරීමේ ප්‍රමුඛයෙකු වන Amazon, ප්‍රකාශ කළේ: “ඔබ ගොඩනඟන්න, ඔබ එය ක්‍රියාත්මක කරන්න.” නිෂ්පාදන ප්‍රවේශය කණ්ඩායමට ව්‍යාපාරයේ අවශ්‍යතා දැනීමට ඉඩ සලසයි.

ස්මාර්ට් අන්ත ලක්ෂ්‍ය සහ ගොළු පයිප්ප

SOA ගෘහ නිර්මාණ ශිල්පය සන්නිවේදන නාලිකා කෙරෙහි, විශේෂයෙන් ව්‍යවසාය සේවා බස් රථය කෙරෙහි විශාල අවධානයක් යොමු කළේය. එය බොහෝ විට දෝෂ සහිත ස්පැගටි පෙට්ටියට මඟ පාදයි, එනම් මොනොලිත් වල සංකීර්ණත්වය සේවා අතර සම්බන්ධතා වල සංකීර්ණත්වය බවට පත්වේ. Microservice architecture භාවිතා කරන්නේ සරල සන්නිවේදන ක්‍රම පමණි.

විමධ්‍යගත පාලනය

ක්ෂුද්‍ර සේවා පිළිබඳ ප්‍රධාන තීරණ ගත යුත්තේ ක්ෂුද්‍ර සේවා සැබවින්ම සංවර්ධනය කරන පුද්ගලයින් විසිනි. මෙහිදී ප්‍රධාන තීරණවලින් අදහස් වන්නේ තේරීම් ය
ක්‍රමලේඛන භාෂා, යෙදවීමේ ක්‍රමවේදය, පොදු අතුරුමුහුණත් ගිවිසුම් ආදිය.

විමධ්‍යගත දත්ත කළමනාකරණය

යෙදුම තනි දත්ත සමුදායක් මත රඳා පවතින සම්මත ප්‍රවේශය, එක් එක් විශේෂිත සේවාවේ විශේෂතා සැලකිල්ලට ගත නොහැක. MSA විවිධ තාක්ෂණයන් භාවිතය ඇතුළුව විමධ්‍යගත දත්ත කළමනාකරණය ඇතුළත් වේ.

යටිතල පහසුකම් ස්වයංක්රීයකරණය

MSA අඛණ්ඩ යෙදවීම සහ බෙදා හැරීමේ ක්‍රියාවලීන් සඳහා සහය දක්වයි. මෙය සාක්ෂාත් කරගත හැක්කේ ස්වයංක්‍රීය ක්‍රියාවලි මගිනි. ඒ අතරම, සේවා විශාල සංඛ්යාවක් යෙදවීම තවදුරටත් බියජනක දෙයක් ලෙස නොපෙනේ. යෙදවීමේ ක්‍රියාවලිය නීරස විය යුතුය. දෙවන අංගය නිෂ්පාදන පරිසරයක සේවා කළමනාකරණයට සම්බන්ධ වේ. ස්වයංක්‍රීයකරණයකින් තොරව, විවිධ මෙහෙයුම් පරිසරයන් තුළ ක්‍රියාත්මක වන ක්‍රියාවලීන් කළමනාකරණය කළ නොහැක.

අසාර්ථකත්වය සඳහා නිර්මාණය

බොහෝ MSA සේවාවන් අසාර්ථක වීමට ඉඩ ඇත. ඒ අතරම, බෙදා හරින ලද පද්ධතියක දෝෂ හැසිරවීම සුළුපටු කාර්යයක් නොවේ. යෙදුම් ගෘහ නිර්මාණ ශිල්පය එවැනි අසාර්ථකත්වයන්ට ඔරොත්තු දිය යුතුය. Rebecca Parsons සිතන්නේ අපි තවදුරටත් සේවා අතර ක්‍රියාවලි සන්නිවේදනය භාවිතා නොකිරීම ඉතා වැදගත් බවයි; ඒ වෙනුවට, අපි සන්නිවේදනය සඳහා HTTP වෙත යොමු වෙමු, එය එතරම් විශ්වාසදායක නොවේ.

පරිණාමීය සංවර්ධනය සහිත ගෘහ නිර්මාණ ශිල්පය (පරිණාමීය නිර්මාණය)

MSA පද්ධතියේ ගෘහ නිර්මාණ ශිල්පය පරිණාමීය ලෙස වර්ධනය විය යුතුය. එක් සේවාවක සීමාවන්ට අවශ්ය වෙනස්කම් සීමා කිරීම යෝග්ය වේ. අනෙකුත් සේවාවන් සඳහා වන බලපෑම ද සැලකිල්ලට ගත යුතුය. සාම්ප්‍රදායික ප්‍රවේශය වන්නේ මෙම ගැටළුව සංස්කරණය සමඟ විසඳීමට උත්සාහ කිරීමයි, නමුත් MSA යෝජනා කරන්නේ අනුවාදනය භාවිතා කිරීමයි
අවසාන විසඳුම ලෙස.

නිගමනය

ඉහත සියල්ලෙන් පසු, ක්ෂුද්‍ර සේවා යනු කුමක්දැයි අපට සකස් කළ හැකිය. Microservice architecture යනු කුඩා සේවා එකතුවක් ලෙස තනි යෙදුමක් සංවර්ධනය කිරීමේ ප්‍රවේශයකි, ඒ සෑම එකක්ම තමන්ගේම ක්‍රියාවලියක ක්‍රියාත්මක වන අතර සැහැල්ලු යාන්ත්‍රණයන් හරහා අන්තර්ක්‍රියා කරයි, බොහෝ විට HTTP සම්පත් API. මෙම සේවාවන් ව්‍යාපාරික හැකියාවන් මත ගොඩනගා ඇති අතර සම්පූර්ණයෙන්ම භාවිතයෙන් ස්වාධීනව යෙදවිය හැක
ස්වයංක්රීය යෙදවීමේ යාන්ත්රණය. විවිධ ක්‍රමලේඛන භාෂාවලින් ලිවිය හැකි අතර විවිධ දත්ත ගබඩා කිරීමේ තාක්ෂණයන් භාවිතා කළ හැකි අවම මට්ටමේ මධ්‍යගත කළමනාකාරීත්වයක් ඇත.

වාස්තුවිද්‍යාත්මක ශෛලියක් තෝරා ගැනීම (3 කොටස)

2 කොටස කියවන්න

මූලාශ්රය: www.habr.com

අදහස් එක් කරන්න