एक वेबसाइट एक हजार उपयोगकर्ताओं को संभालती है। फिर दस लाख। क्या यह क्रैश हो जाती है? स्केलेबिलिटी किसी सिस्टम की बढ़ती हुई कार्यभार को संभालने की क्षमता है। यह संसाधन जोड़कर (क्षैतिज स्केलिंग) या मौजूदा संसाधनों को अधिक शक्तिशाली बनाकर (ऊर्ध्वाधर स्केलिंग) बढ़ सकती है। एक स्केलेबल सिस्टम मांग बढ़ने पर खराब नहीं होता।
वर्टिकल स्केलिंग सरल है। अधिक रैम, तेज़ सीपीयू और बड़ी डिस्क जोड़ें। लेकिन इसकी भी सीमाएं हैं। आप असीमित रैम नहीं जोड़ सकते। हॉरिजॉन्टल स्केलिंग कठिन है। अधिक मशीनें जोड़ें और लोड को वितरित करें। इसके लिए लोड बैलेंसर, डिस्ट्रीब्यूटेड डेटाबेस और स्टेटलेस सेवाओं की आवश्यकता होती है। लेकिन यह लगभग असीमित रूप से स्केल कर सकता है।
स्केलिंग रणनीतियाँ
- क्षैतिज: और सर्वर जोड़ें
- वर्टिकल: मौजूदा सर्वरों को अपग्रेड करें
- लोड बैलेंसिंग: ट्रैफ़िक का वितरण
- कैशिंग: बार-बार किए जाने वाले काम को कम करें
- शार्डिंग: डेटा को मशीनों में विभाजित करना
स्केलेबिलिटी सिर्फ हार्डवेयर के बारे में नहीं है। यह आर्किटेक्चर के बारे में है। एक खराब डिज़ाइन वाला सिस्टम कितना भी सर्वर जोड़ दिया जाए, स्केल नहीं कर पाएगा। एक अच्छी तरह से डिज़ाइन किया गया सिस्टम एक स्टार्टअप से लेकर वैश्विक प्लेटफॉर्म तक विकसित हो सकता है। शुरुआती दौर में लिए गए डिज़ाइन संबंधी निर्णय ही तय करते हैं कि आप कितनी दूर तक जा सकते हैं।
Comments
No comments yet. Be the first to share a thought.
Leave a comment