分布式系统工作流模式与安全机制解析
1. 工作流模式概述
在分布式系统的状态转换探索中,我们获得了一些有价值的见解,并将其总结为通用建议:
- 首先,将待执行的工作记录为不可变事实,其前置事实是用户做决策时参考的先前事实。
- 然后,设置查询以确定哪些工作项可用于特定流程。
- 最后,以不可变的方式记录流程结果,使工作项原子性地进入下一步。对于不必要的并发决策,尽可能晚地发现并解决,而非实时阻止。
下面将介绍一些有助于应用这些建议的模式,这些模式充分利用了历史模型的不可变特性。
2. 事务模式(Transaction)
- 动机 :捕获实体的已知状态,以执行原子性工作单元。在系统中,实体随时间变化,用户交互产生的新事实模拟了实体的变化。但当用户决定采取行动后,实体的进一步变化不应影响该行动。例如,用户在购物车中添加、移除、替换商品等操作,一旦提交订单,订单的商品和属性应被锁定,不能再修改,否则会影响业务处理。
- 结构
- 事务将其作用的实体作为前置项,通过反转前置/后继关系来锁定实体。例如,在所有权模式中,父项是子项的前置项,而在事务模式中,子项是父项的前置项,且前置项不可变,这防止了进一步的创建或删除操作。
- 事务还会识别可变属性的特定版本,这些版本成为事务的直接或间接前置项,从而确保属性的后续修改不影响事务。
- 事务项(TransactionItem)是事务的子项,捕获可变属性的一个特定版本。其定义如下:
超级会员免费看
订阅专栏 解锁全文

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



