पर सेवा स्तरों के लिए स्केलिंग रणनीतियों मैं कई मॉड्यूलर वेब अनुप्रयोगों से बना एक वेब उत्पाद पर काम कर रहा हूं। अंतिम उपयोगकर्ता के लिए, यह एक एकल अनुप्रयोग प्रतीत होता है, हालांकि विभिन्न घटकों को अपने स्वयं के ऐप्स में विभाजित किया जाता है।.NET
इसके लिए तर्क का एक हिस्सा यह है कि इसे कई एप्लिकेशन सर्वरों पर क्षैतिज रूप से स्केल किया जा सकता है।
डेटा स्तर की आसान क्षैतिज स्केलिंग की सुविधा के लिए, हम डेटाबेस के सामने एक वेब सेवा परत का उपयोग करने की योजना बना रहे हैं। इस परत को एन मशीनों तक बढ़ाया जा सकता है, और इसके प्रत्येक उदाहरण व्यक्तिगत रूप से कैशिंग को संभाल लेंगे।
विचार यह है कि एक एप्लिकेशन सेवा स्तरीय लोड बैलेंसर को कॉल करेगा, जो सेवा सेवा के लिए कॉल असाइन करेगा, फिर यह डेटा वापस करने के लिए अपने कैश का उपयोग करेगा, या डेटाबेस से कनेक्ट होगा और क्वेरी करेगा डेटा। ऐसा लगता है कि एप्लिकेशन कोड को भारी रूप से संशोधित किए बिना स्केलिंग के लिए यह सबसे आसान आगे देखने वाला समाधान होगा।
[N Amount of Databases]
|
\/
[Service Tier X N amount of Machines]
|
\/
[Application Tier X n amount of Machines]
कुछ सवाल हालांकि आने, मैं सेवा के स्तर पर उपयोगकर्ता सत्र जारी रहती है, ताकि प्रत्येक आवेदन सिर्फ एक टोकन के साथ प्रमाणित होगा करना चाहते हैं, लेकिन मुझे लगता है मैं सत्र डेटा कैसे बनाए रखना चाहते पर अनिश्चित हूँ असफलता के एक बिंदु के बिना सभी सेवा मशीनों में।
इसे खींचने के तरीके पर कोई विचार? वास्तुकला पर कोई अन्य विचार? क्या किसी और के पास ऐसी साइट तैयार करने की परियोजना है जो संभावित रूप से प्रति दिन लाखों हिट को संभालने में सक्षम हो सकती है?
संपादित करें: यहां तक कि एक विचार भी नहीं है? :(