java在两个或多个noSQL数据库上处理事务的方法是什么?
我们有以下要求:
- 我们将数据存储在Cassandra中,然后在弹性搜索中索引相同的数据(或部分数据)李>
- 问题是,如果在弹性搜索中插入时出现问题,则应回滚在Cassandra中插入的数据李>
基本上,我们希望在多个NoSQL数据库上进行事务处理。有没有一种方法可以在Java(Spring)中实现
你可以在下面搜索框中键入要查询的问题!
我们有以下要求:
基本上,我们希望在多个NoSQL数据库上进行事务处理。有没有一种方法可以在Java(Spring)中实现
# 1 楼答案
没有跨多个NoSQL数据库执行事务的标准方法,Spring也不支持它
我想到了两种方法:
您应该只使用一个数据库来实现它。 例如,在您的案例中,您可以使用Cassandra在节点、数据中心或所有数据中心级别执行事务。并在Cassandra事务成功后异步向弹性搜索发送数据
但如果您必须这样做,我建议您使用Redis来获取全局分布式事务锁。请注意,这是一个非常昂贵的操作,您需要自己处理故障和回滚