事务消息队列
事务是数据存储区(例如数据库或文件系统)的一系列修改,可保证全部成功执行或根本不执行。 若要实现事务,会保留在事务开始前数据存储区的状态记录;如果其中一项修改失败,事务将返回失败,并且还原(或回滚)初始状态。 事务用于维护数据完整性,因此在业务软件编程中发挥着重要作用。
通常,可以使用拆分为多个较小的事务或活动的业务事务或工作流开发应用程序。 这些活动按时间分隔,然后使用可靠的消息队列进行连接。
- 第一个事务涉及订单输入数据库。 消息队列使用事务功能将消息从一个队列移到另一个队列,并且一次性完成。 如果已更新数据库,则队列上会有一条消息。 如果消息未到达队列,则会中止该消息,并回滚数据库。
- 稍后,消息队列会发现服务器可用。 没有应用程序轮询是否存在服务器。 这是第二个事务。
- 第三个事务涉及传送数据库查询和传送数据库更新。 如果服务器在此事务中间失败,则会回滚修改,并将消息返回到输入队列。 这可确保在事务期间维护数据和数据库的完整性。