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