கட்டிடக்கலை பாணியின் தேர்வு (பகுதி 3)

வணக்கம், ஹப்ர். பாடத்தின் புதிய ஸ்ட்ரீமைத் தொடங்குவதற்காக நான் எழுதிய தொடர் வெளியீடுகளை இன்று தொடர்கிறேன். "மென்பொருள் கட்டிடக் கலைஞர்".

அறிமுகம்

ஒரு தகவல் அமைப்பை உருவாக்கும்போது கட்டடக்கலை பாணியின் தேர்வு அடிப்படை தொழில்நுட்ப முடிவுகளில் ஒன்றாகும். இந்த கட்டுரைத் தொடரில், பயன்பாடுகளை உருவாக்குவதற்கான மிகவும் பிரபலமான கட்டிடக்கலை பாணிகளை பகுப்பாய்வு செய்ய நான் முன்மொழிகிறேன் மற்றும் எந்த கட்டிடக்கலை பாணி எப்போது மிகவும் விரும்பத்தக்கது என்ற கேள்விக்கு பதிலளிக்கிறேன். விளக்கக்காட்சியின் செயல்பாட்டில், மோனோலித்கள் முதல் மைக்ரோ சர்வீஸ்கள் வரை கட்டடக்கலை பாணிகளின் வளர்ச்சியை விளக்கும் தருக்க சங்கிலியை வரைய முயற்சிப்பேன்.

கடந்த முறை நாங்கள் பல்வேறு வகையான மோனோலித்கள் மற்றும் அவற்றை உருவாக்க கூறுகளின் பயன்பாடு பற்றி பேசினோம். சேவை சார்ந்த கட்டமைப்பை நாங்கள் புரிந்துகொள்கிறோம்.

இப்போது மைக்ரோ சர்வீஸ் கட்டமைப்பின் முக்கிய பண்புகளை இறுதியாக வரையறுப்போம்.

கட்டிடக்கலை உறவுகள்

முந்தைய கட்டுரைகளில் கொடுக்கப்பட்ட வரையறைகளின் அடிப்படையில், எந்தவொரு சேவையும் ஒரு கூறு ஆகும், ஆனால் ஒவ்வொரு சேவையும் மைக்ரோ சர்வீஸ் அல்ல என்பதை புரிந்து கொள்ள வேண்டியது அவசியம்.

மைக்ரோ சர்வீஸ் கட்டிடக்கலையின் சிறப்பியல்புகள்

மைக்ரோ சர்வீஸ் கட்டமைப்பின் முக்கிய பண்புகள்:

  • வணிகத் திறன்களைச் சுற்றி ஒழுங்கமைக்கப்பட்டது
  • தயாரிப்புகள் திட்டங்கள் அல்ல
  • ஸ்மார்ட் முனைப்புள்ளிகள் மற்றும் ஊமை குழாய்கள்
  • பரவலாக்கப்பட்ட ஆட்சி
  • பரவலாக்கப்பட்ட தரவு மேலாண்மை
  • உள்கட்டமைப்பு ஆட்டோமேஷன்
  • தோல்விக்கான வடிவமைப்பு
  • பரிணாம வளர்ச்சியுடன் கூடிய கட்டிடக்கலை (Evolutionary Design)

1வது புள்ளியானது சேவை சார்ந்த கட்டமைப்பில் இருந்து வருகிறது, ஏனெனில் மைக்ரோ சர்வீஸ் என்பது சேவைகளின் சிறப்பு அம்சமாகும். மற்ற புள்ளிகள் தனித்தனியாக கருதப்பட வேண்டும்.

வணிகத் திறன்களைச் சுற்றி ஒழுங்கமைக்கப்பட்டது

இப்போது கான்வேயின் சட்டத்தை நினைவில் கொள்வது அவசியம்: அமைப்புகளை உருவாக்கும் நிறுவனங்கள் அதன் கட்டமைப்பை ஒழுங்கமைத்து, இந்த நிறுவனங்களுக்குள் தொடர்புகளின் கட்டமைப்பை நகலெடுக்கின்றன. உதாரணமாக, ஒரு கம்பைலரை உருவாக்கும் வழக்கை நாம் நினைவுகூரலாம்: ஏழு பேர் கொண்ட குழு ஏழு-பாஸ் கம்பைலரை உருவாக்கியது, மேலும் ஐந்து பேர் கொண்ட குழு ஐந்து-பாஸ் கம்பைலரை உருவாக்கியது.

நாங்கள் மோனோலித்கள் மற்றும் மைக்ரோ சர்வீஸ்களைப் பற்றி பேசுகிறோம் என்றால், செயல்பாட்டுத் துறைகளால் (பின்னணி, முன்பக்கம், தரவுத்தள நிர்வாகிகள்) மேம்பாடு ஒழுங்கமைக்கப்பட்டால், நாங்கள் ஒரு உன்னதமான மோனோலித் பெறுகிறோம்.

மைக்ரோ சர்வீஸ்களைப் பெற, குழுக்கள் வணிகத் திறனால் ஒழுங்கமைக்கப்பட வேண்டும் (ஆர்டர்கள், ஏற்றுமதிகள், பட்டியல் குழு). பயன்பாட்டின் குறிப்பிட்ட பகுதிகளை உருவாக்குவதில் குழுக்கள் கவனம் செலுத்த இந்த அமைப்பு அனுமதிக்கும்.

தயாரிப்புகள் திட்டங்கள் அல்ல

ஒரு குழு வளர்ச்சியடைந்த செயல்பாட்டை மற்ற குழுக்களுக்கு மாற்றும் திட்ட அணுகுமுறை மைக்ரோ சர்வீஸ் கட்டமைப்பின் விஷயத்தில் முற்றிலும் பொருந்தாது. குழு அதன் வாழ்க்கைச் சுழற்சி முழுவதும் அமைப்பை ஆதரிக்க வேண்டும். மைக்ரோ சர்வீஸ்களை செயல்படுத்துவதில் முன்னணியில் உள்ள அமேசான் கூறியது: "நீங்கள் உருவாக்குகிறீர்கள், நீங்கள் அதை இயக்குகிறீர்கள்." தயாரிப்பு அணுகுமுறை குழுவை வணிகத்தின் தேவைகளை உணர அனுமதிக்கிறது.

ஸ்மார்ட் முனைப்புள்ளிகள் மற்றும் ஊமை குழாய்கள்

SOA கட்டிடக்கலை தகவல் தொடர்பு சேனல்களுக்கு, குறிப்பாக எண்டர்பிரைஸ் சர்வீஸ் பஸ்ஸில் அதிக கவனம் செலுத்தியது. இது பெரும்பாலும் பிழையான ஸ்பாகெட்டி பெட்டிக்கு வழிவகுக்கிறது, அதாவது, மோனோலித்தின் சிக்கலானது சேவைகளுக்கு இடையிலான இணைப்புகளின் சிக்கலாக மாறும். மைக்ரோ சர்வீஸ் கட்டிடக்கலை எளிய தகவல் தொடர்பு முறைகளை மட்டுமே பயன்படுத்துகிறது.

பரவலாக்கப்பட்ட ஆட்சி

மைக்ரோ சர்வீஸைப் பற்றிய முக்கிய முடிவுகள் மைக்ரோ சர்வீஸை உண்மையில் உருவாக்கும் நபர்களால் எடுக்கப்பட வேண்டும். இங்கே, முக்கிய முடிவுகள் தேர்வுகளைக் குறிக்கின்றன
நிரலாக்க மொழிகள், வரிசைப்படுத்தல் முறை, பொது இடைமுக ஒப்பந்தங்கள் போன்றவை.

பரவலாக்கப்பட்ட தரவு மேலாண்மை

பயன்பாடு ஒரு தரவுத்தளத்தை நம்பியிருக்கும் நிலையான அணுகுமுறை, ஒவ்வொரு குறிப்பிட்ட சேவையின் பிரத்தியேகங்களையும் கணக்கில் எடுத்துக்கொள்ள முடியாது. MSA பல்வேறு தொழில்நுட்பங்களின் பயன்பாடு உட்பட பரவலாக்கப்பட்ட தரவு மேலாண்மையை உள்ளடக்கியது.

உள்கட்டமைப்பு ஆட்டோமேஷன்

MSA தொடர்ச்சியான வரிசைப்படுத்தல் மற்றும் விநியோக செயல்முறைகளை ஆதரிக்கிறது. செயல்முறைகளை தானியக்கமாக்குவதன் மூலம் மட்டுமே இதை அடைய முடியும். அதே நேரத்தில், அதிக எண்ணிக்கையிலான சேவைகளை வரிசைப்படுத்துவது இனி பயங்கரமானதாகத் தெரியவில்லை. வரிசைப்படுத்தல் செயல்முறை சலிப்பாக இருக்க வேண்டும். இரண்டாவது அம்சம் தயாரிப்பு சூழலில் சேவை மேலாண்மை தொடர்பானது. ஆட்டோமேஷன் இல்லாமல், வெவ்வேறு இயக்க சூழல்களில் இயங்கும் செயல்முறைகளை நிர்வகிப்பது சாத்தியமற்றது.

தோல்விக்கான வடிவமைப்பு

பல MSA சேவைகள் தோல்விக்கு ஆளாகின்றன. அதே நேரத்தில், விநியோகிக்கப்பட்ட அமைப்பில் பிழை கையாளுதல் ஒரு சிறிய பணி அல்ல. பயன்பாட்டுக் கட்டமைப்பு அத்தகைய தோல்விகளைத் தாங்கக்கூடியதாக இருக்க வேண்டும். ரெபேக்கா பார்சன்ஸ், சேவைகளுக்கு இடையேயான செயல்பாட்டில் உள்ள தகவல்தொடர்புகளை நாங்கள் இனி பயன்படுத்தாமல் இருப்பது மிகவும் முக்கியம் என்று நினைக்கிறார்; அதற்கு பதிலாக, தகவல்தொடர்புக்கு நாங்கள் HTTP ஐ நாடுகிறோம், இது கிட்டத்தட்ட நம்பகமானதாக இல்லை.

பரிணாம வளர்ச்சியுடன் கூடிய கட்டிடக்கலை (Evolutionary Design)

MSA அமைப்பின் கட்டமைப்பு பரிணாம வளர்ச்சியடைய வேண்டும். ஒரு சேவையின் எல்லைகளுக்கு தேவையான மாற்றங்களை மட்டுப்படுத்துவது நல்லது. மற்ற சேவைகள் மீதான தாக்கத்தையும் கணக்கில் எடுத்துக்கொள்ள வேண்டும். இந்தச் சிக்கலைப் பதிப்பில் தீர்க்க முயற்சிப்பதே பாரம்பரிய அணுகுமுறையாகும், ஆனால் MSA பதிப்பைப் பயன்படுத்த பரிந்துரைக்கிறது
கடைசி முயற்சியாக.

முடிவுக்கு

மேலே உள்ள அனைத்துக்கும் பிறகு, மைக்ரோ சர்வீஸ் என்றால் என்ன என்பதை நாம் உருவாக்கலாம். மைக்ரோ சர்வீஸ் ஆர்கிடெக்சர் என்பது ஒரு பயன்பாட்டை சிறிய சேவைகளின் தொகுப்பாக உருவாக்குவதற்கான அணுகுமுறையாகும், ஒவ்வொன்றும் அதன் சொந்த செயல்பாட்டில் இயங்குகிறது மற்றும் இலகுரக வழிமுறைகள், பெரும்பாலும் HTTP ஆதார API மூலம் தொடர்பு கொள்கிறது. இந்த சேவைகள் வணிகத் திறன்களின் அடிப்படையில் கட்டமைக்கப்பட்டுள்ளன, மேலும் அவை முழுமையாகப் பயன்படுத்தி சுயாதீனமாக பயன்படுத்தப்படலாம்
தானியங்கு வரிசைப்படுத்தல் பொறிமுறை. இந்த சேவைகளின் மையப்படுத்தப்பட்ட நிர்வாகத்தின் குறைந்தபட்ச நிலை உள்ளது, அவை வெவ்வேறு நிரலாக்க மொழிகளில் எழுதப்படலாம் மற்றும் வெவ்வேறு தரவு சேமிப்பக தொழில்நுட்பங்களைப் பயன்படுத்தலாம்.

கட்டிடக்கலை பாணியின் தேர்வு (பகுதி 3)

பாகம் 2 படிக்கவும்

ஆதாரம்: www.habr.com

கருத்தைச் சேர்