பின்-முனை Scaling: உத்திகள், சவால்கள் & சிறந்த நடைமுறைகள்

Scaling back-end நவீன வலை பயன்பாடுகளை உருவாக்கும்போது டெவலப்பர்கள் மற்றும் மென்பொருள் பொறியாளர்கள் எதிர்கொள்ளும் மிகப்பெரிய சவால்களில் ஒன்று ஒரு அமைப்பு. பயனர்கள் மற்றும் தரவுகளின் எண்ணிக்கை அதிகரிக்கும் போது, ​​செயல்திறன், நம்பகத்தன்மை மற்றும் சுமை திறனை உறுதி செய்ய அமைப்பு அளவிடப்பட வேண்டும். இந்தக் கட்டுரை, பொதுவான உத்திகள் மற்றும் தொடர்புடைய சிக்கல்களை எவ்வாறு நிவர்த்தி செய்வது என்பதை back-end நன்கு புரிந்துகொள்ள உதவும். back-end scaling

1. பின்முனை என்றால் என்ன Scaling ?

பின்-முனை என்பது வளங்களுக்கான அதிகரித்து வரும் தேவைகளைப் பூர்த்தி செய்ய scaling ஒரு அமைப்பின் செயலாக்க திறனை விரிவுபடுத்தும் செயல்முறையாகும், அவற்றுள்: back-end

  • அதிக பயனர் கோரிக்கைகளைக் கையாளுதல்.

  • அதிக அளவிலான தரவைச் சேமித்தல் மற்றும் மீட்டெடுத்தல்.

  • உயர் அழுத்தத்தின் கீழ் அமைப்பின் நிலைத்தன்மையை உறுதி செய்தல்.

பின்-முனை scaling பொதுவாக இரண்டு முக்கிய வகைகளாகப் பிரிக்கப்படுகிறது:  vertical scaling  மற்றும்  horizontal scaling.

2. பின்-இறுதி Scaling உத்திகள்

அ. Vertical Scaling

செங்குத்து என்பது scaling CPU, RAM அல்லது சேமிப்பகம் போன்ற வன்பொருளை மேம்படுத்துவதன் மூலம் ஒரு சேவையகத்தின் சக்தியை மேம்படுத்துவதை உள்ளடக்குகிறது.

  • நன்மைகள்:

    • ஒரே ஒரு சர்வரை மட்டுமே உள்ளடக்கியிருப்பதால் செயல்படுத்தவும் நிர்வகிக்கவும் எளிதானது.

    • கணினி கட்டமைப்பை மாற்ற வேண்டிய அவசியமில்லை.

  • தீமைகள்:

    • வன்பொருள் சார்புநிலைகள் காரணமாக வரையறுக்கப்பட்ட அளவிடுதல்.

    • வன்பொருள் மேம்படுத்தல்களுக்கான அதிக செலவுகள்.

    • ஒற்றை தோல்விப் புள்ளி.

பி. Horizontal Scaling

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

  • நன்மைகள்:

    • கிட்டத்தட்ட வரம்பற்ற அளவிடுதல்.

    • அதிகரித்த நம்பகத்தன்மை மற்றும் தவறு சகிப்புத்தன்மை.

    • உடன் ஒப்பிடும்போது அதிக செலவு குறைந்த vertical scaling.

  • தீமைகள்:

    • செயல்படுத்தவும் நிர்வகிக்கவும் மிகவும் சிக்கலானது.

    • பொருத்தமான கணினி கட்டமைப்பு தேவை(எ.கா., a ஐப் பயன்படுத்துதல் load balancer).

3. பின்-எண்டில் பொதுவான சிக்கல்கள் Scaling

அ. தரவுத்தள வள மேலாண்மை

கணினி அளவு அதிகரிக்க அதிகரிக்க, தரவுத்தளம் பெரும்பாலும் ஒரு தடையாக மாறும். பொதுவான சிக்கல்கள் பின்வருமாறு:

  • அதிகரித்த வினவல் நேரம்:  அதிக எண்ணிக்கையிலான கோரிக்கைகள் தரவுத்தள மறுமொழி நேரங்களைக் குறைக்கின்றன.

  • தரவு ஒத்திசைவு சவால்கள்:  பல சேவையகங்களைப் பயன்படுத்தும் போது பல முனைகளுக்கு இடையில் தரவை ஒத்திசைப்பது சிக்கலானதாகிறது.

தீர்வுகள்:

  • database sharding  தரவை சிறிய பகுதிகளாகப் பிரிக்கப் பயன்படுத்தவும்  .

  •  பல தரவுத்தளங்களில் தரவை நகலெடுக்க நகலெடுப்பைப் பயன்படுத்தவும்  .

  • caching  தரவுத்தள சுமையைக் குறைக்க(எ.கா., Redis, Memcached) பயன்படுத்தவும்  .

b. சுமை சமநிலை

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

தீர்வுகள்:

  • load balancer  சேவையகங்களுக்கு கோரிக்கைகளை விநியோகிக்க(எ.கா., Nginx, HAProxy) ஐப் பயன்படுத்தவும்  back-end.

  •  தற்போதைய சுமையின் அடிப்படையில் சேவையகங்களை தானாகச் சேர்க்க அல்லது அகற்ற தானியங்கி அளவிடுதலைச் செயல்படுத்தவும்  .

இ. அமர்வு மேலாண்மை

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

தீர்வுகள்:

  •  பயனர் கோரிக்கைகள் எப்போதும் ஒரே சேவையகத்திற்கு அனுப்பப்படுவதை உறுதிசெய்ய, ஒட்டும் அமர்வுகளைப் பயன்படுத்தவும்  .

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

ஈ. நிலைத்தன்மையை உறுதி செய்தல்

கணினி வளர்ச்சியடையும் போது, ​​சர்வர்கள் முழுவதும் தரவு நிலைத்தன்மையை உறுதி செய்வது ஒரு குறிப்பிடத்தக்க சவாலாக மாறும்.

தீர்வுகள்:

  • விநியோகிக்கப்பட்ட பரிவர்த்தனைகள்  அல்லது  இறுதி நிலைத்தன்மை போன்ற வழிமுறைகளைப் பயன்படுத்தவும்  .

  •  நிலைத்தன்மை, கிடைக்கும் தன்மை மற்றும் பகிர்வு சகிப்புத்தன்மையை சமநிலைப்படுத்த CAP தேற்றம் போன்ற மாதிரிகளைப் பயன்படுத்துங்கள்  .

4. பின்-எண்டிற்கான கருவிகள் மற்றும் தொழில்நுட்பங்கள் Scaling

  • Load Balancer:  Nginx, HAProxy, AWS எலாஸ்டிக் Load Balancer.

  • Caching:  ரெடிஸ், மெம்கேச்.

  • Database Sharding:  மோங்கோடிபி, கசாண்ட்ரா.

  • கொள்கலன்மயமாக்கல் & இசைக்குழு:  டாக்கர், Kubernetes.

  • Cloud Services:  AWS, கூகிள் கிளவுட், Azure(தானியங்கி அளவிடுதல் மற்றும் நிர்வகிக்கப்பட்ட தரவுத்தள சேவைகளை வழங்குகிறது).

5. உங்கள் பின்-முனையை எப்போது அளவிட வேண்டும்?

  • அதிக சுமை காரணமாக கணினி மெதுவாகத் தொடங்கும் போது அல்லது செயலிழக்கத் தொடங்கும் போது.

  • பயனர்கள் அல்லது தரவுகளில் திடீர் அதிகரிப்பு இருக்கும்போது.

  • அமைப்பு தவறுகளைத் தாங்கும் தன்மையுடையதாகவும், நிலையாகச் செயல்படுவதையும் நீங்கள் உறுதிசெய்ய விரும்பும்போது.

முடிவுரை

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