在分布式软件系统架构中,我们经常会遇到系统的数据的一致性问题。通常的解决方案是遵循CAP理论。
CAP理论是inktomi的Eric Brewer十年前提出的:分布式系统的三项重要指标一致性(Consistency)、可用性(Availability)和分区耐受性(Partition-tolerance,分布)在任意时刻,只有两项能同时成立。换句话说在系统在一致性问题上只可同时满足二点,没法三者兼顾。
对于7*24运行的网站来说,选择可用性是理所当然的,同时还的必须选择分区耐受性,因为它是实现可伸缩的根本。于是只好放弃即时一致性。所选两点就是AP。
所以架构设计师不要把精力浪费在如何设计能满足三者的完美的分布式系统,而是应该进行取舍,选取最适合应用需求的其中之二。