我们有业务用例是单个业务用例会有,
读 - 写 - 写 - 读 - 写等
本质上它是读取和写入调用的混合,但是所有写入都应该工作或者根本不存在(如回滚所有成功写入直到写入失败)
我们的系统如下
数据库模块 - rabbitmq - 数据库
目前,DB模块每个表都有一个CRUD DAO。它提供了一个API,它将表名,操作和更改作为输入,创建一个json并将其提供给Rabbitmq。
有哪些设计模式/已知解决方案可以处理事务处理和回滚的这种情况。当我用Google搜索时,我找到了我们没有使用的SQL世界的大多数解决方案。
任何帮助都会很棒。
谢谢!
答案 0 :(得分:1)
Martin Fowler says about Unit of work:
维护受业务事务影响的对象列表 协调写作的变化和分辨率 并发问题。
和
工作单元会跟踪您在业务中所做的一切 可能影响数据库的事务。当你完成时,它会有所体现 结果需要做的一切都是为了改变数据库 你的工作。
这似乎是您的情景的完美搭配!