离线同步和事件采购

Joe*_*oel 11 synchronization offline crud command-pattern event-sourcing

基于CRUD的应用程序部分需要:

  1. 离线双向"双向"同步
  2. 能够修改数据直到准备好然后"发布".
  3. 审核日志

事件采购(或"命令模式")是我正在寻找完成这些项目.我觉得用这个解决2和3感觉很舒服,但对于第一项,同步并不清楚.

如果时间戳用于每个命令(如果需要),那么脱机命令是否需要像实时(合并)一样应用于主系统,或者我可以认为它们应用于任何结束时命令(具有更新的时间戳)?

基于命令的同步的任何基本算法描述都会有所帮助.

Voi*_*son 15

您需要了解Greg Young对CQRS和偶尔连接系统的看法

命令需要在接收时在记录系统上运行.因此,您的脱机客户端可以使用其本地缓存,陈旧,记录副本和队列命令.再次连接时,客户端更新它的记录系统副本,将其排队的命令与世界的新状态进行协调,然后将新命令发送到记录系统.

格雷格的谈话概述了命令协调的工作原理(基本上,通过查看临时命令生成的事件,并查找与记录系统记录的事件的冲突).该演讲强烈暗示领域专家希望以特定方式解决事件冲突.