Re: Collaboration using Event Sourcing
Tom Eugelink <[email protected]>
| Newsgroups | gmane.comp.programming.domain-driven-design |
|---|---|
| Message-ID | <[email protected]> |
Many possible solutions are available, a quick google on postgresql (maybe the best open source database) synchronization gave this: http://www.codeproject.com/Articles/39135/PostgreSQL-Synchronization-Tool http://www.postgresql.org/about/news/1360/ http://www.rubyrep.org/ You can sync each client copy with a master and thus everything become eventually consistent. The challenge in all these solutions is how they cope with conflicts (updates on the same record in both databases). Tom On 2013-10-07 15:25, [email protected] wrote: > > Hi Tom, > > > Yes, the domain implementation would need to ride with the client which would need some sort of local persistence. I hear you on not reinventing the wheel. I have done an app like this before where the client had a normalized database and client peers were kept in sync using MS Sync Framework. This was a true P2P setup (ie no broker). It worked but it was less than ideal mostly due to the limitations and closed source nature of sync framework and our battles with the ORM. > > > What database solutio ns do you know of? > > > thanks, > > Justin > > > > > > ---In [email protected], <[email protected]> wrote: > > Does being offline mean that there are multiple copies of the same domain implementation active, each with a separate database? There are database solutions that sync offline copies, that could be a better approach (reinventing a wheel). > > Otherwise a messaging system that allows catchup and guarantees delivery. Usually it is not smart to try and solve such situations with your own code. > > Tom > > > On 2013-09-20 23:52, justinstuparitz@... <mailto:justinstuparitz@...> wrote: > >> I have a business domain where a team of people will go somewhere and collaborate together with fat clients over a local network and possibly a remote network. They will also sometimes be offline. I envision a rich domain with events and the use of event streaming. Events would occur locally per client and then need to be published. The subscribers would need to process the events as an idempotent operation. The clients need to be eventually consistent. Can an asynchronous event publish/subscribe model work here? Does it make sense? I would think some sort of callback would be in order so that events are not continuously sent over and over with the use of some sort of projection snapshot? >> > >