மென்பொருள் கட்டமைப்பு மற்றும் அமைப்புகள் வடிவமைப்பு: பெரிய படம் மற்றும் ஆதார வழிகாட்டி

வணக்கம் சகாக்கள்.

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

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

மென்பொருள் கட்டமைப்பு மற்றும் அமைப்புகள் வடிவமைப்பு: பெரிய படம் மற்றும் ஆதார வழிகாட்டி

ஸ்னாப்ஷாட் ஐசக் ஸ்மித் Unsplash இலிருந்து

புதிதாக ஒரு மென்பொருள் அமைப்பை வடிவமைப்பது போன்ற சவால்களை நீங்கள் எதிர்கொள்ள வேண்டியதில்லை என்றால், அத்தகைய வேலையைத் தொடங்கும்போது, ​​​​சில நேரங்களில் எங்கு தொடங்குவது என்பது கூட தெளிவாகத் தெரியவில்லை. நீங்கள் முதலில் எல்லைகளை வரைய வேண்டும் என்று நான் நம்புகிறேன், இதன்மூலம் நீங்கள் சரியாக என்ன வடிவமைக்கப் போகிறீர்கள் என்பது பற்றிய அதிக அல்லது குறைவான நம்பிக்கையான யோசனை உங்களுக்கு இருக்கும், பின்னர் உங்கள் சட்டைகளை உருட்டி அந்த எல்லைகளுக்குள் வேலை செய்யுங்கள். ஒரு தொடக்கப் புள்ளியாக, நீங்கள் ஒரு தயாரிப்பு அல்லது சேவையை எடுத்துக் கொள்ளலாம் (உங்களுக்கு மிகவும் பிடித்தமானது) மற்றும் அதை எவ்வாறு செயல்படுத்துவது என்பதைக் கண்டுபிடிக்கலாம். இந்த தயாரிப்பு எவ்வளவு எளிமையானது மற்றும் உண்மையில் எவ்வளவு சிக்கலானது என்பதை நீங்கள் ஆச்சரியப்படுவீர்கள். மறந்து விடாதீர்கள்: எளிய - பொதுவாக சிக்கலான, அது பரவாயில்லை.

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

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

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

ஆரம்ப நிலை அமைக்கவும்

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

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

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

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

தரவைச் சேமிப்பது மற்றும் மீட்டெடுப்பது பற்றிய அறிவை உருவாக்குங்கள்

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

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

மென்பொருள் கட்டமைப்பு மற்றும் அமைப்புகள் வடிவமைப்பு: பெரிய படம் மற்றும் ஆதார வழிகாட்டி

ஸ்னாப்ஷாட் சாமுவேல் ஜெல்லர் Unsplash இலிருந்து

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

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

தொடர்பு வடிவங்கள்

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

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

மென்பொருள் கட்டமைப்பு மற்றும் அமைப்புகள் வடிவமைப்பு: பெரிய படம் மற்றும் ஆதார வழிகாட்டி

ஸ்னாப்ஷாட் டோனி ஸ்டோடார்ட் Unsplash இலிருந்து

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

இணைப்பு விநியோகம்

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

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

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

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

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

வணிக தர்க்கம் பற்றி பேசலாம். வணிக தர்க்கம், பணி ஓட்டங்கள் மற்றும் கூறுகளை கட்டமைத்தல்

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

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

கூட்டு அணுகுமுறைகள்

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

மென்பொருள் கட்டமைப்பு மற்றும் அமைப்புகள் வடிவமைப்பு: பெரிய படம் மற்றும் ஆதார வழிகாட்டி

ஸ்னாப்ஷாட் கலிடிகோ Unsplash இலிருந்து

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

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

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

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