जब एग्रीगेट्स के स्नैपशॉट इवेंट लॉग के साथ सिंक हो गए तो मैं बस अपनी घटनाओं को प्रारंभिक स्नैपशॉट्स (जो सिंक में होना चाहिए) से फिर से चला सकता है। वही मैं कर सकता हूं जब मैं नए फ़ील्ड जोड़ता/निकालता हूं या जब मैं मौजूदा हैंडलर के तर्क को संशोधित करता हूं।परिस्थितियों को कैसे संभालें, जब पढ़ा गया मॉडल इवेंट लॉग के साथ सिंक हो गया?
यदि मुझे नया पठन मॉडल जोड़ने की आवश्यकता है (यानी नई रिपोर्ट देखें) मैं वही कर सकता हूं - मैं अपनी घटनाओं को दोबारा खेलूंगा।
लेकिन मुझे स्थिति लॉग के साथ सिंक से बाहर निकलने पर स्थिति को कैसे संभालना चाहिए? घटनाओं और प्रकाशनों का भंडारण एक लेनदेन में है, लेकिन पढ़ने के मॉडल को अपडेट करना दूसरे लेनदेन में हुआ, जो असफल हो सकता है। बहुत शुरुआत से घटनाओं को दोहराने में मदद मिल सकती है, लेकिन यह अनंत काल ले सकती है। क्या मुझे पूरे पढ़ने वाले मॉडल के लिए स्नैपशॉट की अवधारणा की आवश्यकता है?
आप इस समस्या को कैसे हल करते हैं? धन्यवाद।
धन्यवाद धन्यवाद! शुरुआत से घटनाओं को दोहराने के मामले में आप ईवेंट हैंडलर के एक थ्रेड का उपयोग करते हैं? क्योंकि यदि मैं कई कार्यकर्ता धागे का उपयोग करूंगा तो मुझे सही नतीजे नहीं मिल सकते हैं (जबकि यह डोमेन प्रकृति के कारण उत्पादन में काम करेगा - वास्तविक उपयोगकर्ताओं से प्रकाशन करते समय कई घटनाओं की दौड़ स्थिति संभव नहीं है, लेकिन एक-एक करके प्रकाशित करते समय संभव है कई कार्यकर्ता धागे के लिए)। क्या यह वैश्विक स्तर पर स्वीकार करता है कि हमें शुरुआत से ही घटनाओं को संसाधित करने के लिए केवल एक कार्यकर्ता थ्रेड का उपयोग करना चाहिए? आपके मूल्यवान उत्तरों के लिए धन्यवाद। –
अच्छी कॉल। मैं प्रति इकाई उदाहरण (या तो आदेश या घटनाओं) से 1 धागा से अधिक नहीं चलाकर इस तरह के समवर्ती मुद्दों से बचना पसंद करता हूं। तो हम इवेंट हैंडलर के लिए एकाधिक थ्रेड प्राप्त कर सकते हैं, हालांकि प्रत्येक एकल दृश्य * इंस्टेंस * (कुछ पहचान द्वारा पहचाना गया) हमेशा एक ही थ्रेड द्वारा ही संभाला जाएगा। बेशक, एक धागा एक से अधिक दृश्य उदाहरण संभाल सकता है या एक समय में टाइप कर सकता है। क्या यह मदद करता है? –
धन्यवाद! आपके उत्तर का विश्लेषण करने के कुछ दिनों बाद मुझे लगता है कि मैं कई कार्यकर्ता धागे के साथ ईवेंट हैंडलिंग के यांत्रिकी को समझता हूं। मैं आपके उत्तरों की सराहना करता हूं। –