Database 数据库同步
我正在开发的系统有一些问题。我有一个python脚本,它首先与虚拟化软件一起工作,如果该操作成功,它会将内容写入数据库。 如果虚拟化软件中出现了一些异常,那么我可以管理所有事情,但如果插入数据库失败,真正的问题就会出现。如果insert失败,我将不得不在该虚拟化软件中恢复,否则事情将变得异步。但问题是,在那个软件中恢复东西并非总是可能的Database 数据库同步,database,transactions,distributed-transactions,Database,Transactions,Distributed Transactions,我正在开发的系统有一些问题。我有一个python脚本,它首先与虚拟化软件一起工作,如果该操作成功,它会将内容写入数据库。 如果虚拟化软件中出现了一些异常,那么我可以管理所有事情,但如果插入数据库失败,真正的问题就会出现。如果insert失败,我将不得不在该虚拟化软件中恢复,否则事情将变得异步。但问题是,在那个软件中恢复东西并非总是可能的 如何处理事情,使我可以保持数据库与该软件同步?有中间产品或特殊应用吗???还是编程中的逻辑 您希望系统中的两个操作(OP:虚拟软件中的操作;WDB:写入数据库)
如何处理事情,使我可以保持数据库与该软件同步?有中间产品或特殊应用吗???还是编程中的逻辑 您希望系统中的两个操作(OP:虚拟软件中的操作;WDB:写入数据库)是原子的(要么都发生,要么都不发生)。这是一种分布式事务,但您的虚拟化软件不直接支持可事务性行为(无回滚)。如果您可以使它们成为某个分布式事务系统的一部分,那么您就完成了(请参阅),但这通常是不可能或不切实际的。实现伪事务行为的不同策略取决于场景的具体情况。一些例子: