数据管理与架构优化:从事件溯源到单体拆分的全面解析
1. 事件溯源(Event Sourcing)
事件溯源是一种强大的数据处理模式,特别适用于处理金融交易、医疗记录以及诉讼信息等需要记录变更轨迹的场景。这种模式不存储数据的当前值,而是记录一系列事件,通过查询这些事件并计算其值,可获取到某个时间点的最新已知值。
不过,事件溯源并非适用于所有场景,若某个流程无需跟踪状态变化,使用该模式可能会导致过度设计,并且还可能增加数据存储成本。
事件溯源的一个显著优势在于它能改变系统在数据状态管理中的角色,将控制权从系统转移到人员手中。系统负责接收所有事件,并提供记录缺失事件的报告。以下是两个具体场景示例:
- 场景一:库存管理
- 传统方式 :在使用库存管理系统时,若工作人员在将箱子装上卡车前扫描该箱子,系统提示箱子不存在,工作人员就必须停止手头工作,想办法将箱子信息录入系统,待对象状态校正后才能将箱子装上卡车。
- 事件溯源方式 :即便系统认为箱子不存在,扫描并将其装上卡车的事件仍会被记录,同时会向异常报告发送额外记录。这样一来,人员可以在不中断业务流程的情况下管理对象状态。此外,可能会出现箱子扫描事件先于其创建事件发生的情况,但只要管理员将物品添加到系统后生成创建事件,即便该创建事件在箱子装车事件之后,也是可以接受的。我们还可以为特定事件设置序列号,以确保时间戳顺序,便于证据跟踪和查询。
- 场景二:在线订单系统
在线系统将箱子中的物品卖给客户时,物品可能处于缺货状态,但订单仍能正常生成。
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



