离线同步和事件采购

时间:2016-02-11 21:52:19

标签: synchronization crud offline event-sourcing command-pattern

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

  1. 离线双向“双向”同步
  2. 能够修改数据直到准备好然后“发布”。
  3. 审核日志
  4. 事件采购(或“命令模式”)是我正在寻找的用于完成这些项目的内容。我觉得用这个解决2& 3感觉很舒服,但对于第一项同步,同步并不清楚。

    如果时间戳用于每个命令(如果需要),那么离线命令是否需要应用于主系统,因为它们实时(合并),或者我可以将它们视为应用于任何命令的结尾(具有更新的时间戳)?

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

1 个答案:

答案 0 :(得分:13)

您需要查看Greg Young对CQRS and Occasionally Connected Systems

的评论

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

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