यदि मेरे पास एरलांग चलने (लोड संतुलित) में कई वेब सर्वर लिखे गए हैं और मैनेशिया बैकएंड डेटाबेस के लिए उपयोग किया जाता है, तो पूरे सिस्टम को नए संस्करण में अपग्रेड करने का सबसे अच्छा तरीका क्या है?एरलांग में, वितरित सिस्टम को अपग्रेड करने का सबसे अच्छा तरीका क्या है?
उत्तर
हालांकि एर्लांग हॉट कोड लोडिंग का समर्थन करता है, लेकिन ऐसा कुछ नहीं होना चाहिए। आपके मामले में, लोड-बैलेंसर से एक नोड को एक समय निकालना आसान लगता है, इसे नए कोड को पुनरारंभ करें और इसे लोड-बैलेंसर में वापस रखें।
नोड्स को लेना भी कुछ ऐसा है जो आपको करने के लिए तैयार होना चाहिए यदि आप अपने लाइव सिस्टम में नए एरलांग/ओटीपी रिलीज में हॉट-अपग्रेड करना चाहते हैं।
लेकिन वास्तविक समस्या जो आपके लिए बुलबुला कर सकती है वे हैं जो मेनेसिया से आती हैं। मुझे लगता है कि आपको मिनेसिया को क्या करना है, उसमें विनिर्देशों के साथ एक नया प्रश्न पूछना चाहिए। यदि कोई स्कीमा/टेबल-चेंज नहीं है, और आप बस एक नोड लेना चाहते हैं और इसे बाद में जोड़ना चाहते हैं। या यदि आप वास्तव में टेबल में नई टेबल या नए कॉलम पेश कर रहे हैं। मेनेसिया टेबल प्रतिकृतियों के साथ नोड्स जोड़ने और निकालने की क्षमता प्रदान करता है, और यह mnesia:transform_table/3,4
के माध्यम से कई तालिका परिभाषाओं का विशिष्ट रूप से समर्थन करता है।
यदि आप केवल कोड अपग्रेड कर रहे हैं, तो मैंने erlang release handling with fab के बारे में एक लेख लिखा था। इस सेटअप के साथ, आप नोड्स को पुनरारंभ किए बिना रीयल-टाइम कोड लोडिंग कर सकते हैं। डेटाबेस को ट्रांसफॉर्म करना, हालांकि, एक एकल नोड से किया जाना चाहिए, रिलीज अपग्रेड से अलग से ट्रिगर किया गया।
- 1. एरलांग और पायथन को एकीकृत करने का सबसे अच्छा तरीका
- 2. Drupal 6: jQuery को अपग्रेड करने का सबसे अच्छा तरीका?
- 3. एरलांग सीखने का सबसे अच्छा तरीका क्या है?
- 4. पुश अधिसूचना सिस्टम को लागू करने का सबसे अच्छा तरीका
- 5. एक्सेल मैक्रो को साझा/वितरित करने का सबसे अच्छा तरीका क्या है?
- 6. लुआ और पुस्तकालयों को वितरित करने का सबसे अच्छा तरीका क्या है?
- 7. एरलांग में समय-समय पर कुछ करने का सबसे अच्छा तरीका क्या है?
- 8. "टाइमर" को लागू करने का सबसे अच्छा तरीका क्या है?
- 9. तालिका को समर्पित करने का सबसे अच्छा तरीका क्या है?
- 10. तारों को पार्स करने का सबसे अच्छा तरीका क्या है?
- 11. एनएसएमयूटेबलएरे को शफल करने का सबसे अच्छा तरीका क्या है?
- 12. जावास्क्रिप्ट को शामिल करने का सबसे अच्छा तरीका क्या है?
- 13. जावा प्रोग्राम के सिस्टम सिस्टम की निगरानी करने का सबसे अच्छा तरीका क्या है?
- 14. Django 0.96 से 1.0 तक अपग्रेड करने का सबसे अच्छा तरीका क्या है?
- 15. किसी भी सॉफ्टवेयर के मूल्यांकन संस्करण को वितरित करने का सबसे अच्छा तरीका?
- 16. क्लोजर में जीयूआई करने का सबसे अच्छा तरीका क्या है?
- 17. सेलेनियम में पुनर्निर्देशन करने का सबसे अच्छा तरीका क्या है?
- 18. jquery 1.3 से 1.4 तक अपग्रेड करने का सबसे अच्छा तरीका क्या है?
- 19. गिटहब पर मेरी परियोजना की बाइनरी वितरित करने का सबसे अच्छा तरीका क्या है?
- 20. पायथन कमांड लाइन उपकरण वितरित करने का सबसे अच्छा तरीका क्या है?
- 21. लिनक्स के लिए बाइनरी एप्लिकेशन वितरित करने का सबसे अच्छा तरीका क्या है?
- 22. रूबी पर रूबी से सिस्टम कार्यों को करने का सबसे अच्छा तरीका क्या है?
- 23. एक पायथन पैकेज वितरित करने का सबसे अच्छा तरीका क्या है जिसके लिए न्यूनतम पायथन संस्करण
- 24. फेसबुक एसएसएल का समर्थन करने के लिए रेल ऐप को अपग्रेड करने का सबसे अच्छा तरीका क्या है?
- 25. RedirectToAction का परीक्षण करने का सबसे अच्छा तरीका क्या है?
- 26. असेंबली को अपग्रेड करते समय, पृथक संग्रहण में फ़ाइलों को माइग्रेट करने का सबसे अच्छा तरीका क्या है?
- 27. यह निर्धारित करने का सबसे अच्छा तरीका क्या है कि सिस्टम। डेटटाइम आधी रात है?
- 28. आईई को अपग्रेड करने के लिए लोगों को मनाने के लिए सबसे अच्छा तरीका है?
- 29. एकाधिक सबव्यूज़ व्यवस्थित करने का सबसे अच्छा तरीका क्या है?
- 30. रुझान डेटा संग्रहीत करने का सबसे अच्छा तरीका क्या है?
हाँ, मुझे डर है कि अगर मैं टेबल में नई टेबल या नए कॉलम पेश करता हूं, तो मुझे पूरी प्रणाली को नीचे ले जाना होगा। आपके उत्तर के लिए धन्यवाद, मुझे नहीं पता था कि एक transform_table फ़ंक्शन है। –