2012-06-26 11 views
24

हम लोड में स्पाइक्स से निपटने के लिए ईसी 2 ऑटोस्कलिंग का उपयोग कर देख रहे हैं। हमारे मामले में हम एक एसक्यूएस कतार आकार के आधार पर उदाहरणों को स्केल करना चाहते हैं और फिर कतार आकार के साथ नीचे पैमाने पर नियंत्रण में आता है। प्रत्येक एसक्यूएस संदेश संभावित रूप से लंबे समय तक चलने वाली नौकरी को परिभाषित करता है (कभी-कभी संदेश के लिए प्रत्येक 20 मिनट तक) जो आवृत्ति समाप्त होने से पहले पूरा होना चाहिए।अमेज़ॅन ईसी 2 सुंदर शटडाउन के साथ नीचे autoscaling?

हमारा सॉफ़्टवेयर शटडाउन प्रक्रिया को गहन तरीके से संभालता है, इसलिए sudo service ourapp stop जारी करने से पहले ऐप को पूरा होने से पहले पूरा करने की प्रतीक्षा होगी।

मेरा प्रश्न; जब ऑटोस्केलिंग स्केलिंग शुरू हो जाती है तो यह एक टर्मिनेट (जो स्पष्ट रूप से पावर बटन मारने की तरह है) जारी करता है, क्या यह हमारे ऐप को 'संचालित बंद' होने से पहले पूरी तरह से बाहर निकलने का इंतजार करेगा?

https://forums.aws.amazon.com/message.jspa?messageID=180674 < - कि और अन्य चीजें मैंने पाया है कि यह नहीं

उत्तर

16

2014 के मध्य में एडब्ल्यूएस ने 'लाइफसाइकिल हुक' पेश किया जो समाप्ति प्रक्रिया के पूर्ण नियंत्रण की अनुमति देता है।

हमारी उच्च स्तर नीचे पैमाने प्रक्रिया है:

  • ऑटो स्केलिंग
  • नियंत्रक एप्लिकेशन संदेश
  • नियंत्रक अनुप्रयोग एक उदाहरण 'को रोकने के मुद्दों को उठाता है एक उदाहरण आईडी के साथ एक SQS कतार में एक संदेश भेजता है 'अनुरोध
  • कंट्रोलर ऐप एसक्यूएस संदेश को फिर से कतारबद्ध करता है जबकि उदाहरण
  • नियंत्रक ऐप फिर से संदेश उठाता है, जांचता है कि उदाहरण बंद हो गया है या फिर एम क्यू essage बाद में पुनः प्रयास करने के लिए)
  • नियंत्रक एप्लिकेशन ऑटो स्केलिंग सूचित करता है समाप्ति के साथ 'आगे बढ़ें' के लिए
  • नियंत्रक एप्लिकेशन SQS कतार से संदेश को हटाता है

अधिक विवरण: http://docs.aws.amazon.com/autoscaling/latest/userguide/lifecycle-hooks.html

+0

वाह यह COOL – Nate

+1

वाह है, वास्तव में ठंडा - एडब्ल्यूएस ने 1000 साल पहले लाइफसाइकिल हुक पेश किए, जब अन्य अभी भी अमेरिका की खोज के साथ कब्जा कर लिया गया था) – sebastian

+0

यहां एक अपडेट किया गया लिंक है: http://docs.aws.amazon.com/ ऑटोस्कलिंग/नवीनतम/डेवलपर मार्गदर्शिका/ऑटोस्कलिंग समूह लाइफसाइकिल.html – cars

21

करता है सबसे नए एएमआई के पर सुझाव देने के लिए लगता है, मशीनों एक 'पड़ाव' के बराबर दिया जाता है (या 'बंद -h अब 'कमांड ताकि सेवाओं को शानदार तरीके से बंद कर दिया जा सके। जब तक आपका प्रोग्राम स्टार्टअप/शटडाउन स्क्रिप्ट के साथ अच्छी तरह से खेलता है, तो आपको ठीक होना चाहिए - लेकिन, यदि आपके प्रोग्राम को समाप्त होने में 20 सेकंड से अधिक समय लगता है, तो आप उस अमेज़ॅन का अनुभव कर सकते हैं उदाहरण को पूरी तरह मार दें।

अमेज़ॅन के documentation उनके ऑटोस्केलिंग के संबंध में समाप्ति प्रक्रिया निर्दिष्ट नहीं करता है, लेकिन, एडब्ल्यूएस कीसामान्य रूप से ec2 के लिएमें समाप्ति प्रक्रिया के दौरान क्या होता है - मशीनों को 'शटडाउन' कमांड दिया जाता है, और अधिकांश सिस्टम पर डिफ़ॉल्ट शटडाउन समय 30 सेकंड होता है।

+0

जवाब इयान के लिए धन्यवाद । ऐसा लगता है कि हम क्षमता जोड़ने के लिए ऑटोस्केलिंग का उपयोग करने में सक्षम हो सकते हैं लेकिन क्षमता को हटा नहीं सकते ... – danw

+2

अब 'लाइफसाइकिल हुक' के माध्यम से संभव है, मेरा जवाब देखें ... – danw

संबंधित मुद्दे