业务域的数据库事务处理

时间:2017-01-14 07:09:24

标签: database design-patterns transactions rabbitmq rollback

我们有业务用例是单个业务用例会有,

读 - 写 - 写 - 读 - 写等

本质上它是读取和写入调用的混合,但是所有写入都应该工作或者根本不存在(如回滚所有成功写入直到写入失败)

我们的系统如下

数据库模块 - rabbitmq - 数据库

目前,DB模块每个表都有一个CRUD DAO。它提供了一个API,它将表名,操作和更改作为输入,创建一个json并将其提供给Rabbitmq。

有哪些设计模式/已知解决方案可以处理事务处理和回滚的这种情况。当我用Google搜索时,我找到了我们没有使用的SQL世界的大多数解决方案。

任何帮助都会很棒。

谢谢!

1 个答案:

答案 0 :(得分:1)

Martin Fowler says about Unit of work

  

维护受业务事务影响的对象列表   协调写作的变化和分辨率   并发问题。

  

工作单元会跟踪您在业务中所做的一切   可能影响数据库的事务。当你完成时,它会有所体现   结果需要做的一切都是为了改变数据库   你的工作。

这似乎是您的情景的完美搭配!