2009-12-19 52 views
7

मैं अपने वेब ऐप को ईसी 2 पर तैनात करने की योजना बना रहा हूं। मेरे पास कई वेबसर्वर उदाहरण हैं। मेरे पास 1 प्राथमिक डेटाबेस उदाहरण है। मेरे पास 1 विफलता डेटाबेस उदाहरण है। प्राथमिक डेटाबेस उदाहरण विफल होने पर मुझे वेबसर्वर को विफलता डेटाबेस उदाहरण आईपी पर रीडायरेक्ट करने की रणनीति की आवश्यकता है।ईसी 2 डेटाबेस सर्वर विफलता रणनीति

मुझे उम्मीद थी कि मैं अपने कनेक्शन तारों में लोचदार आईपी का उपयोग कर सकता हूं। लेकिन, वेबसर्वर लोचदार आईपी तक पहुंचने/पिंग करने में सक्षम नहीं हैं। समस्या को हल करने के लिए मेरे पास कई क्रूर बल विचार हैं। हालांकि, मैं सबसे सुंदर समाधान संभव खोजने की कोशिश कर रहा हूं।

मैं सभी .NET और SQL सर्वर का उपयोग कर रहा हूं। मेरा कनेक्शन स्ट्रिंग एन्क्रिप्टेड हैं।

क्या किसी के पास ईसी 2 में किसी अन्य प्रकार के स्वचालन या DNS कॉन्फ़िगरेशन का उपयोग करके डेटाबेस उदाहरण में विफल होने की रणनीति है?

कृपया मुझे बताएं।

उत्तर

1

http://alestic.com/2009/06/ec2-elastic-ip-internal

आपको बताता है कि लचीला आईपी सार्वजनिक डीएनएस उपयोग करने के लिए।

+0

निश्चित रूप से एक बिल्कुल अच्छा बाहरी आईपी पता का कुल अपशिष्ट है। – drxzcl

0

EC2 उपयोग नहीं किया है लेकिन निश्चित रूप से आप की जरूरत करने के लिए या तो:

(क) कुछ कस्टम रखरखाव मोड में अपने सामने के अंत में कहें, आपके द्वारा निर्धारित है, जबकि आप आईपी पर स्विच; और पिछले सर्वर से संबंधित संभावित डेटा अखंडता और डेटा हानि के मुद्दों को प्रबंधित करने के लिए फ्रंट-एंड प्रदर्शन आवश्यक कदम हैं और जब आपका कस्टम रखरखाव मोड

या शून्य के लिए नया सर्वर आ रहा है तो नया सर्वर आ रहा है -टाइम सिस्टम:

(बी) जमीन से ऑब्जेक्ट/रिलेशनल और लेनदेन के स्तर पर प्रणाली को शून्य-डाउन-टाइम विफलता का समर्थन करने के लिए डिज़ाइन करें। यह ऐसा कुछ नहीं है जिसे आप किसी भी आवेदन के लिए quicjkly पर बोल्ट कर सकते हैं।

(सी) स्वचालित विफलता के लिए कुछ डेटाबेस समर्थन का उपयोग करें। मुझे पता नहीं है कि आपके आवेदन के लिए उपयुक्त फेलओवर के लिए SQL सर्वर समर्थन मौजूद है या यहां उचित है। मैं सही दर्शकों के लिए खोज शुरू करने के लिए प्रश्न में "एसक्यूएल-सर्वर" टैग जोड़ने का सुझाव देता हूं।

यदि लोचदार आईपी काम नहीं करते हैं (जो कम से कम कहने के लिए अजीब लगता है - क्या आप इसके बारे में ईसी 2 से बात नहीं कर सकते हैं), तो आप अपने फ्रंट-एंड को निर्देश देने में सक्षम होने के लिए सक्षम हो सकते हैं कि कौन से नए डेटाबेस आईपी का उपयोग करना है एक ही समय में इसे रखरखाव मोड से सामान्य मोड में जाने के लिए कह रहा है।

+0

एक बहन साइट serverfault.com और/या superuser.com पर भी सवाल पूछने लायक हो सकता है ... – martinr

+0

आपके उत्तर के लिए धन्यवाद। मैंने ईसी 2 से पूछा है .. लेकिन उनके पास वास्तव में खराब रूप हैं। बहुत समय बर्बाद है। (बी) मैं पहले से ही ऐप के साथ हूं। कनेक्शन स्ट्रिंग के लिए आईपी प्राप्त करने/सेट करने के लिए मेरे पास एक इंटरफ़ेस है। तो, मैं इसे फ्लाई पर बदल सकता हूं ... मैं बस उम्मीद कर रहा था कि किसी के पास चालाक DNS समाधान हो। मैं serverfault.com पर इस सवाल से पूछूंगा और देख सकता हूं कि मुझे क्या मिलता है। – Dave

0

यदि आप थोड़ा अतिरिक्त पैसा खोलने के इच्छुक हैं, तो Rightscale's उपकरण पर नज़र डालें; उन्होंने कस्टम सर्वर छवियों और सहायक उपकरण बनाए हैं जो डेटाबेस विफलता (कई अन्य चीजों के बीच) को संभालते हैं। This link बताता है कि इसे MySQL के साथ कैसे किया जाए, इसलिए उम्मीद है कि आप कुछ सिद्धांत दिखाएंगे, भले ही यह SQL सर्वर का उपयोग न करे।

0

मुझे हमेशा यही लगता connnection स्ट्रिंग

यह How to add Failover Partner to a connection string in VB.NET से लिया (लेकिन अभी तक परीक्षण किया) में इस संभावना नहीं थी:

आप ADO.NET या SQL मूल क्लाइंट के साथ कनेक्ट करते हैं पर एक डेटाबेस के लिए प्रतिबिंबित किया जा रहा है, तो आपका अनुप्रयोग ड्राइवर का कनेक्शन ले सकता है, जब डेटाबेस मिररिंग विफलता होता है तो स्वचालित रूप से कनेक्शन कनेक्शन को पुनर्निर्देशित करता है।आपको कनेक्शन स्ट्रिंग और फेलओवर पार्टनर सर्वर में प्रारंभिक प्रिंसिपल सर्वर और डेटाबेस निर्दिष्ट करना होगा।

Data Source=myServerAddress;Failover Partner=myMirrorServerAddress; 
Initial Catalog=myDataBase;Integrated Security=True; 

है को बिल्कुल अन्य कई तरीकों डेटाबेस मिररिंग का उपयोग कर कनेक्शन स्ट्रिंग लिखते हैं, यह सिर्फ एक विफलता कार्यक्षमता उनका कहना है उदाहरण है। आप को अन्य कनेक्शन स्ट्रिंग्स विकल्पों के साथ जोड़ सकते हैं।

0

गैरेथ के उत्तर को विस्तृत करने के लिए, क्लाउड प्रबंधन सॉफ्टवेयर आमतौर पर इस प्रकार की समस्याओं को हल करते हैं। राइटस्केल उनमें से एक है, लेकिन आप enStratus या Scalr (अस्वीकरण: मैं स्केलर पर काम करता हूं) का प्रयास कर सकता हूं।

  • बैकअप: इन उपकरणों की तरह विफलता समाधान प्रदान करते हैं आप EBS डेटा
  • दोष सहिष्णु डेटाबेस युक्त मात्रा के स्वचालित स्नैपशॉट निर्धारित कर सकते हैं: विफलता की स्थिति में, एक गुलाम मास्टर को बढ़ावा दिया और संग्रहण माउंट है जाएगा बंद करता है, तो विफल रहा है मास्टर और नए मास्टर एक ही AZ में हैं, या हो एक स्नैपशॉट मात्रा

आप अपने खुद के समाधान का निर्माण करना चाहते हैं, तो आप प्रक्रिया है कि नीचे दिए गए विवरण हम Scalr पर उपयोग को दोहराने सकता है लिया:

  • क्या एक ही एजेड में कोई गुलाम है? यदि ऐसा है, तो इसे बढ़ावा दें, ईबीएस वॉल्यूम्स (जो एक एकल एजेड तक सीमित हैं) स्विच करें, किसी भी लोचस्टिक को स्विच करें, शेष दासों की प्रतिकृति पुन: कॉन्फ़िगर करें।
  • यदि नहीं, तो क्या कोई गुलाम पूरी तरह से किसी अन्य एजेड में दोहराया गया है? यदि ऐसा है, तो इसे बढ़ावा दें, फिर ऊपर करें।
  • यदि उसी AZ में कोई गुलाम है, और कोई दास पूरी तरह से एक और AZ में दोहराया है, तो मास्टर की मात्रा से एक स्नैपशॉट बनाने, और एक AZ जहां एक गुलाम चल रहा है में एक नया मात्रा बनाने के लिए इस स्नैपशॉट का उपयोग करें। फिर उपरोक्त करें।