我们的应用程序中基于 CRUD 的部分需要:
- 离线双向“双向”同步
- 能够修改数据直到准备好然后“发布”。
- 审核日志
我正在寻找事件溯源(或“命令模式”)来完成这些项目。我觉得用这个来解决 2&3 很舒服,但对于第一个项目同步还不清楚。
如果每个命令都使用时间戳(如果需要),则脱机命令是否需要应用到主系统,因为它们会实时(合并),或者我可以将它们视为在任何命令结束时应用吗?命令(具有更新的时间戳)?
基于命令的同步的任何基本算法描述都会有所帮助。
你会想回顾一下格雷格·杨所说的CQRS 和偶尔连接的系统 https://skillsmatter.com/skillscasts/1980-cqrs-not-just-for-server-systems
命令需要在收到时在记录系统上运行。因此您的离线客户端可以使用其本地缓存,stale、记录副本和排队命令。再次连接时,客户端会更新其记录系统的副本,将其排队的命令与新的世界状态进行协调,然后将新命令发送到记录系统。
格雷格的演讲概述了命令协调的工作原理(基本上,通过查看临时命令生成的事件,并查找与记录系统记录的事件的冲突)。该演讲强烈暗示领域专家希望以特定方式解决事件冲突。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)