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