distributed-transactions

    0热度

    1回答

    我理解跨越多个事务资源的事务称为全局事务。 问题1: 这只是分布式事务的另一个名称,或者是不同的东西? 问题2: 已经阅读了关于事务管理的spring文档。 我能从中推断出的是 a。 JTA纯粹是为分布式事务设计的。 b。只有通过EJB和EJB CMT,我们才能执行分布式事务。 c。如果是EJB,那么它同样强制应用服务器和间接JNDI。 春天的对手促进全球/分布式交易是什么? 问题3: 如果我们不

    0热度

    1回答

    例如amazon.com;他们依赖微服务架构,可能订单和付款是单独的微服务,但是当您在amazon.com上结账时,您终于可以看到订单ID和详细信息。如果它不是最终的一致性方法,它是什么?也许2PC? 我在概括我的问题;如果最终一致性不是 适合于商业交易(最终用户应该看到交易结果结束),但是单独的微服务是有意义的(如订单和支付) 如何处理即时一致性?

    0热度

    1回答

    我正在使用wildfly XADataSources(两个)。一个指向一个读写PostgreSQL DB(A),另一个指向一个只读DB(B)。显示下一个错误,当我试图从B到阅读和写上一个: 压抑:org.postgresql.xa.PGXAException:错误准备交易 我已经设置了max_prepared_transactions如文献所示,为非零值。 有什么建议吗? 完整的堆栈跟踪: or

    0热度

    1回答

    我试图推断可以由保证同步数据源的系统/框架采取的故障恢复操作。我一直无法找到Narayana恢复机制的明确解释。 问题1:Narayana是否实质上采用两阶段提交来确保跨2个数据源的分布式事务?问题2:有人可以在这种情况下解释Narayana的行为吗? 应用希望保存X到2个数据存储 纳拉亚纳的事务管理器(TM)产生一个事务ID和写入信息到磁盘 TM现在发送准备消息给两个数据存储 每个数据存储回应p

    0热度

    1回答

    DRBD采用什么协议来保证它能够保持2个磁盘彼此同步? 它使用两阶段提交(或类似于2PC的变体)吗? DRBD是否有一个异步/脱机协调器不断检查磁盘是否有偏差?

    0热度

    1回答

    我们使用3PC(三阶段承诺)进行分布式事务。有4个节点,A,B,C,D,其中A是协调器。 A从所有其他人收到OK并将准备提交消息发送给他们。 虽然C和D收到此消息并移动到准备状态,但B发生崩溃并且未收到此消息(因此保持等待状态)。 B超时,并发送中止给所有其他人,但只有D收到中止消息,而C收到中止消息之前崩溃。 现在的问题是:恢复后C会做什么?根据http://courses.cs.vt.edu/

    0热度

    1回答

    日志是一系列日志记录,它保存有关数据库更新活动的信息。每当事务开始时,读取,写入或提交它都会将自己注册到日志中,并执行其特定操作。所以,现在,当从故障中恢复时,如果事务尚未提交,则需要撤消事务,如果事务已提交,则需要重做。我的疑问是关于这样做背后的逻辑。为什么我们需要重做提交的交易? 参考:幻灯片19 - http://codex.cs.yale.edu/avi/db-book/db6/slide

    0热度

    1回答

    请考虑这种情况。 协调器发送准备消息2名人参加,和崩溃 参与者锁定资源成功,然后等待协调恢复 协调员复苏,但并没有从参与者收到有关prepare_success消息 消息 是否需要人工干预来解锁锁定的资源?或者参与者询问协调员以查找交易状态? 首先,这听起来与参与者没有收到提交消息的情况类似,但主要的区别在于协调员重新发送该场景中的消息。在上面列出的方案中,协调员甚至不知道它必须重新启动全局事务,

    0热度

    1回答

    我在SQL服务器之间设置了事务复制PULL类型。 但是,我的分发清理作业并未从MS_replCommands和repltransaction表中删除任何数据。 我已设置Immediate_Snyc和allow_anonymous为0 分发作业详情: 查询: EXEC dbo.sp_MSdistribution_cleanup @min_distretention = 0,@max_distrete

    1热度

    2回答

    我试图从SourceDb(存在于本地计算机上)到TargetDb(存在于azure &上,可以从SSMS访问)设置序列容器中的数据流任务。 每当我根据需要使用事务运行包时,我遇到了以下错误。 错误:SSIS错误代码DTS_E_CANNOTACQUIRECONNECTIONFROMCONNECTIONMANAGER。 AcquireConnection方法调用连接管理器“TargetDb”失败,错误