集群 事务 数据一致性

场景是这样的:A、B两台应用集群,当前用户操作请求被分配到A服务器,当前操作
具有事务,此时A服务器宕机,事务进行到一半,那么此时转到B服务器。这种业务
场景如何处理确保事务数据一致性。望解答。谢谢。

这个确实是一个问题,于此类似的还有一个就是集群、分布式读写的问题。在分布式系统中,写入和读取可能发生在不同的节点上。最终一致带来的问题是,业务在写入后立即读取,很可能读不到刚刚写入的数据

那么没法保持事务数据的一致性么? 肯定是有办法的,保持事务数据的最终一致性。意思就是:放弃在任何时刻、从任何节点都能读到完全一致的数据。允许数据的临时不一致,并通过异步复制、重试和合并消除数据的临时不一致。

假设A服务器宕机,那么请求转向服务器B, 请求在经过服务器A的时候进行了一部分数据处理,在转向B的时候又进行了一部分数据处理。这个时候,如果能快速的手动恢复服务器A,恢复其处理的数据,那么就能保持最终的一致性
总得来说就是:暂时放弃 A ,然后在另一个时间点再设法恢复。只要恢复的速度足够快,用户就能够忍受暂时的不一致或者不可用。从而实现最终的一致性