当前位置: 首页 > 知识库问答 >
问题:

使用 Azure cosmos 和 blob 存储的分布式事务

萧韬
2023-03-14

我们计划在单个事务中上传blob中的一些文件和Cosmos数据库中的数据

是否可以在Azure Cosmos DB和Azure blob存储之间实现分布式事务?如果任何操作失败,则还应恢复其他操作。

如果不可能,那么是否有任何理想的方法可以通过任何Azure组件实现此功能?

共有1个答案

柳项明
2023-03-14

据我所知,没有跨多个azure组件的这种事务机制(如果是,可能只是针对sql数据库)。

我的想法:

1.使用Azure函数,请看这个案例:有多个输出的Azure函数中的事务。您可以遵循@Mikhail Shilkov提到的解决方法,使用服务总线。此链接中的一些细节。

2.Implement以编程方式尝试捕获,方法是在一个try-catch范围内yourself.Include所有业务,如果捕获任何异常,则在数据已经存在的情况下执行删除操作。

 类似资料:
  • 我在oracle中有两个数据源和两个模式,我正在执行unittest,但失败了。我想如果第二个事务失败,那么它应该回滚第一个TrasAction。下面是我的代码。 XML java.lang.IllegalStateException:无法激活事务同步-已在org.springframework.transaction.support.TransactionSynchronizationManag

  • Spring Boot通过使用Atomikos或Bitronix嵌入式事务管理器支持跨多个XA资源的分布式JTA事务。 部署到合适的Java EE Application Server时,也支持JTA事务。 检测到JTA环境时,Spring的JtaTransactionManager用于管理事务。 自动配置的JMS,DataSource和JPA bean已升级为支持XA事务。 您可以使用标准的Sp

  • ShardingSphereTransactionManager SPI 名称 详细说明 ShardingSphereTransactionManager 分布式事务管理器 已知实现类 详细说明 XAShardingSphereTransactionManager 基于 XA 的分布式事务管理器 SeataATShardingSphereTransactionManager 基于 Seata 的分

  • ShardingSphere-Proxy 接入的分布式事务 API 同 ShardingSphere-JDBC 保持一致,支持 LOCAL,XA,BASE 类型的事务。 XA 事务 ShardingSphere-Proxy 原生支持 XA 事务,默认的事务管理器为 Atomikos。 可以通过在 ShardingSphere-Proxy 的 conf 目录中添加 jta.properties 来定

  • 通过 Apache ShardingSphere 使用分布式事务,与本地事务并无区别。 除了透明化分布式事务的使用之外,Apache ShardingSphere 还能够在每次数据库访问时切换分布式事务类型。 支持的事务类型包括 本地事务、XA事务 和 柔性事务。可在创建数据库连接之前设置,缺省为 Apache ShardingSphere 启动时的默认事务类型。

  • 背景 数据库事务需要满足 ACID(原子性、一致性、隔离性、持久性)四个特性。 原子性(Atomicity)指事务作为整体来执行,要么全部执行,要么全不执行。 一致性(Consistency)指事务应确保数据从一个一致的状态转变为另一个一致的状态。 隔离性(Isolation)指多个事务并发执行时,一个事务的执行不应影响其他事务的执行。 持久性(Durability)指已提交的事务修改数据会被持久