分布式系统的事务处理经典问题及模型 - mmcmmc
简介 数据服务的高可用是所有企业都想拥有的,但是要想 让数据有高可用性,就需要冗余数据写多份。写多份的问题会带来一致性的问题,而一致性的问题又会带来性能问题,这就会陷入一个无解的死循环! 这里所谓数据 一致性,就是当多个用户试图同时访问一个数据库时,如果它们的事务同时使用相同的数据,可能会发生以下四种情况:丢失更新、未确定的相关性、不一致的分析 和幻像读。本篇文章将会给大家系统的介绍多种处理分布式数据一致性的技术模型,以下是作者原文: 在生产线上用一台服务器来提供数据服务的时候,经常会遇到如下的两个问题: 一台服务器的性能不足以提供足够的能力服务于所有网络请求。 担心服务器宕机,造成服务不可用或是数据丢失。 面对这些问题,我们不得不对服务器进行扩展,加入更多的机器来分担性能问题,以及解决单点故障问题。通常,我们会通过两种手段来扩展我们的数据服务: 数据分区: 就是把数据分块放在不同的服务器上(如:uid%16,一致性哈希等)。 数据镜像: 让所有的服务器数据同步,提供无差别的数据服务。 使用第一种方案,无法解决数据丢失问题,单台服务器出问题时,一定会有部分数据丢失。所以,数据服务的高可...










