6

CRUD आधारित हिस्सा सोर्सिंग:ऑफ़लाइन समन्वयन और घटना हमारे आवेदन की जरूरत के

  1. ऑफलाइन द्विदिश "दो तरह से" सिंक कर तैयार करें और फिर "प्रकाशित करें" जब तक डेटा को संशोधित करने
  2. की क्षमता।
  3. ऑडिट लॉग

घटना सोर्सिंग (या "कमांड पैटर्न") क्या मैं इन वस्तुओं को पूरा करने में देख रहा हूँ है। मैं इसके साथ 2 & 3 को हल करने में सहज महसूस करता हूं, लेकिन आइटम एक के लिए स्पष्ट नहीं है, सिंकिंग।

यदि प्रत्येक कमांड (यदि आवश्यक हो) के लिए टाइमस्टैम्प का उपयोग किया जाता है, तो ऑफलाइन कमांड को मास्टर सिस्टम पर लागू करने की आवश्यकता होती है क्योंकि वे रीयल-टाइम (कोलेस्ड) में होते थे, या क्या मैं उन्हें बस के रूप में लागू होने पर विचार कर सकता हूं किसी भी कमांड का अंत (एक और हालिया टाइमस्टैम्प के साथ)?

कमांड-आधारित सिंक के लिए कोई भी मूल एल्गोरिदम विवरण उपयोगी होगा।

+0

मेरे लिए उपयोगी लेख हैं http://touchlabblog.tumblr.com/post/33710233787/offline-sync-queue-aka-superbus और https://docs.google.com/file/d/0B_BG7hBPKUxaeVFTSUI4Ylp3VjQ/edit – Joel

उत्तर

9

आप की समीक्षा करने के क्या ग्रेग युवा के बारे में CQRS and Occasionally Connected Systems

आदेश समय वे प्राप्त कर रहे हैं पर रिकॉर्ड की प्रणाली पर चलने की जरूरत है क्या कहना है चाहता हूँ। तो आपका ऑफ़लाइन क्लाइंट स्थानीय रूप से कैश किए गए, स्टेल, रिकॉर्ड की प्रतिलिपि, और कतारों को कतार के साथ काम कर सकता है। जब दोबारा कनेक्ट किया जाता है, तो क्लाइंट रिकॉर्ड की प्रणाली की प्रतिलिपि बनाता है, दुनिया के नए राज्य के साथ अपने कतारबद्ध आदेशों को दोबारा जोड़ता है, और फिर नए आदेशों को रिकॉर्ड सिस्टम में भेजता है।

ग्रेग की बात स्केच करता है कि कमांड सुलह कैसे काम करता है (मूल रूप से, अस्थायी आदेश उत्पन्न करने वाली घटनाओं को देखकर, और रिकॉर्ड की प्रणाली द्वारा दर्ज घटनाओं के साथ संघर्ष की तलाश में)। इस बात का दृढ़ता से तात्पर्य है कि डोमेन विशेषज्ञ घटनाओं के संघर्ष को विशिष्ट तरीकों से हल करना चाहते हैं।

+0

यही है कि मैं आपको @VoiceOfUnreason धन्यवाद के लिए देख रहा हूँ –

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