一致性模型:不一条线走到黑
数据有多个副本,读的时候能看到哪个版本?一致性模型就是系统给外部的承诺——从线性到最终,不是开关,是刻度。
数据有多个副本,读的时候能看到哪个版本?一致性模型就是系统给外部的承诺——从线性到最终,不是开关,是刻度。
单机上代码执行顺序就是时间顺序。到了分布式系统,铁律就碎了——没有全局时钟,消息到达顺序不固定。
复制是同一份数据放多份,分区是把不同数据放不同地方。数据量超过单机磁盘时,只能切开。
每台机器只有「部分的真相」。复制是把同一份数据放到多台机器上,让系统在单机挂掉时还能继续服务。 为什么需要复制 单机有物理上限。数据量可能超过单机磁盘,请求量可能超过单机 CPU,还有机器故障、机房断电这些不可抗力。复制把数据拷贝到多台机器,用冗余换可用性。这是分布式系统最原始的动力——如果一台机器
把三台机器放在一起,不等于就有了分布式系统。真正的分布式系统,是让多台机器协同完成一件事——而这件事的复杂度,恰好来自「协同」二字。 为什么单机到多机不是简单的数量变化?因为单机上一切井然有序:数据在同一个内存空间,时钟只有一个,锁一把就够。一旦跨了机器,这三样全部失效。 分布式系统的所有复杂度,可