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, உங்கள் அமைப்பை மேம்படுத்தவும் எப்போதும் தயாராக இருங்கள்!