मेरे काम में मुझे कुछ मौजूदा एंटरप्राइज़ जावा एप्लिकेशन को AWS में स्थानांतरित करने की आवश्यकता है। मैं aws.amazon.com पर कई पेजों से गुजर चुका हूं और पर्याप्त रूप से गुग हो गया हूं। इसके अलावा, मैंने स्टैक ओवरफ्लो पर सभी संबंधित प्रश्नों को पार करने की कोशिश की है। इन सभी चीजों ने कई चीजों को स्पष्ट किया, हालांकि, मुझे अभी भी कुछ भ्रम है। यहां हमारी आवेदन संरचना है:जावा ईई वेब ऐप के लिए अमेज़ॅन क्लाउड कॉन्फ़िगरेशन MySQL
- यह एक वसंत आधारित अनुप्रयोग है जो स्प्रिंग एमवीसी का प्रेजेंटेशन लेयर और सादे जावा इंटरफेस और क्लासेस को व्यापार और डेटा तर्क को संभालने के लिए उपयोग करता है।
- MySQL दृढ़ता के लिए उपयोग किया जाता है।
तो, एप्लिकेशन आर्किटेक्चर काफी सरल है। हालांकि, पकड़ यह है कि हमें इस आवेदन के कई उदाहरण तैनात करने की जरूरत है। यह गणना वर्तमान में 15 है और 30 से अधिक हो सकती है। एक और बात ये है कि ये सभी उदाहरण एक आम डेटाबेस साझा करते हैं। आवेदन के लिए
- उच्चतर दोष सहिष्णुता:
अब यहाँ हम क्या एडब्ल्यूएस में जाने से प्राप्त करने की आवश्यकता है। हाल ही में हमें कुछ समय के लिए समर्पित होस्टिंग में सर्वर/पावर विफलता का सामना करना पड़ा।
- प्रतिक्रिया समय और थ्रूपुट के संदर्भ में आवेदन के सभी उदाहरणों के लिए उच्च प्रदर्शन।
- MySQL के लिए उच्च गलती सहनशीलता। हाल ही में कुछ हार्डवेयर (हार्ड ड्राइव) के कारण हमारे सर्वरों में से एक पर अनुप्रयोग उदाहरण नीचे आ गए, जो मूल रूप से MySQL को अप्रत्याशित रूप से बंद कर देता था। हार्ड ड्राइव पर पूरी फ़ाइल सिस्टम केवल उस सर्वर पर होस्ट किए गए अनुप्रयोग उदाहरणों के खराब होने के कारण पढ़ा गया।
- स्पष्ट रूप से बुनियादी लागत प्रबंधन की कुल लागत और ओवरहेड को कम करना।
जहां तक मेरा अब तक एडब्ल्यूएस बुनियादी ढांचे को समझने में सक्षम हूँ, यहाँ क्या हम अपने सेटअप के लिए एडब्ल्यूएस में की आवश्यकता होगी है: कुछ EBS की,
- 4 उदाहरणों, प्रत्येक के बारे में 10 आवेदन उदाहरणों की मेजबानी टॉमकैट और MySQL के साथ आधारित LINUX AMI उस पर स्थापित है।
- मुझे लगता है कि हमें उन सभी 4 उदाहरणों में से प्रत्येक के लिए गलती सहनशीलता के लिए 1 उदाहरण की आवश्यकता होगी।
- सभी सर्वर उदाहरणों में लगभग 160GB ईबीएस होगा।
- 4 लचीला आईपी
- 4 लचीला लोड balancers
- स्नैपशॉट आदि जैसे अन्य सामान
अब यहाँ मेरे प्रश्न हैं:
मैं वास्तव में उस अतिरिक्त सर्वर उदाहरण है की जरूरत है (गलती सहनशीलता के लिए) प्रत्येक मुख्य सर्वर उदाहरण के लिए, ईबीएस द्वारा स्वचालित रूप से बैक अप किए गए चेहरे पर विचार करते हुए और वे हार्डवेयर विफलता के मामले में एक ही डेटा के साथ नई ईबीएस प्रदान करेंगे?
मैं उपरोक्त परिदृश्य में सभी सर्वर उदाहरणों (4x2) के बीच डेटाबेस कैसे साझा करूं? एक विकल्प जो मैं देख रहा हूं वह उन सर्वर उदाहरणों के बीच MySQL क्लस्टरिंग को कार्यान्वित करना है। आइए कहें, MySQL क्लस्टर में 1 प्रबंधन नोड, 3 एसक्यूएल नोड्स और 4 डेटा नोड्स होंगे।हालांकि, इस मामले में क्लस्टर को बनाए रखना हमारे लिए एक अतिरिक्त ओवरहेड होगा और यह स्वीकार नहीं किया जा सकता है क्योंकि हम बुनियादी ढांचे प्रबंधन से छुटकारा पा सकते हैं।
क्या मुझे डेटाबेस के बजाय आरडीएस होना चाहिए और सभी सर्वर isntances (4x2) से MySQL उदाहरणों को निकालना है? यदि हां, तो मुझे ईसी 2 उदाहरणों के अलावा आरडीएस उदाहरण खरीदने की ज़रूरत होगी (मुझे लगता है कि अगर मुझे आरडीएस के लिए अलग-अलग उदाहरण खरीदने की ज़रूरत है तो कुल बुनियादी ढांचे की लागत कम से कम 75% तक बढ़ जाएगी।) या आरडीएस के उदाहरण भी गणना इकाइयां देते हैं आवेदन विकास के लिए आवेदन तैनाती के लिए उदाहरणों की कुल संख्या को कम करना?
आरडीएस कार्यान्वयन के मामले में, क्या वास्तव में ईबीएस आधारित ईसी 2 उदाहरणों की आवश्यकता होती है? अगर हम कुछ कर सकते हैं तो आरडीएस उदाहरणों के साथ ईसी 2 उदाहरणों से ईबीएस आवश्यकता को कैसे हटाया जाए, हम कुल लागत को कम कर सकते हैं।
किसी भी मदद की सराहना की जाएगी और कृपया मुझे बताएं कि क्या मैं अपनी समस्या निर्दिष्ट करने के लिए स्पष्ट नहीं हूं और किसी भी बिंदु के लिए अधिक स्पष्टीकरण की आवश्यकता है।
मैं कम से कम 4 दोष सहिष्णुता के लिए सर्वर की आवश्यकता होगी, क्योंकि हम 4 मुख्य सर्वर के लिए 4 अलग आईपी होने दिया जाएगा के रूप में वे आवेदन के विभिन्न उदाहरणों की मेजबानी की जाएगी और उसके बाद प्रत्येक सर्वर दोष सहिष्णुता या कोई गलती के लिए कम से कम एक उदाहरण की आवश्यकता होगी सहिष्णुता बिल्कुल और आरडीएस के लिए मैं मल्टी-एजेड परिनियोजन के साथ 2 छोटे उदाहरणों पर भी विचार कर रहा हूं। – vikas
यह ठीक है। जब से तुम 4 "बाहरी" IP पते नहीं लगता है, आप 4 ईएलबी (लोचदार लोड संतुलन) उदाहरणों, जिनमें से एक-एक आईपी पते की मेजबानी कर सकता है, और उसके बाद, मांग पर दोष सहिष्णुता जोड़ने एक से अधिक EC2 कंप्यूटिंग नोड जोड़कर आवश्यकतानुसार प्रत्येक ईएलबी को।आरडीएस के संबंध में, यह सेटअप अच्छा दिखता है, और मल्टी-एजेड निश्चित रूप से जाने का तरीका है। यदि आपके एप्लिकेशन में बहुत से डीबी पढ़ते हैं, तो आप कुछ रीड रेप्लिकेशंस को अतिरिक्त रूप से कॉन्फ़िगर कर सकते हैं। – Viccari