Spanner, TrueTime and the CAP Theorem 读书笔记
本贴最后更新于 2765 天前,其中的信息可能已经时移世异
Spanner是CP系统,但是用户可以将其当成CA系统使用
- 在分区发生的时候,Spanner会丢弃可用性选择一致性
- 但是Spanner的可用性极高(发生超过制定时间预期的分区时间极低),因此大家可以认为Spanner是一个CA系统
Spanner的网络是保证高可用性的根本
- 谷歌的数据中心之间都有3根独占光纤连接着,任意一根光纤断掉都不会影响数据中心之间的通讯
- 谷歌也有多年的超强的运维技术,能尽量保证数据中心的平稳运行
数据副本
- 谷歌使用2PC+PAXOS的形式保证一致性及可用性
- 同一份数据使用paxos来保证可用性
- 数据之间使用2pc来保证事务数据的一致性
TrueTime
- spanner使用了TrueTime API(一个由GPS及原子钟维护时间准确性的设备),但其与可用性及一致性无关
- Spanner使用TrueTime获得最关键的特性是可以获得一个全局的任意时刻的符合外部一致性的快照
- 外部一致性:任意t1,t2不管其各自在地球哪一端,只要t1的提交完成先于t2,那么t1的时间戳一定小于t2
- 为保证这个外部一致性,事务提交时将等待一小段时间(TrueTime的误差时间)
-
Spanner
-
CAP
CAP 指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得。
11
引用
•
5
回帖
•
596
关注
-
PAXOS
1.3k
9
419
97
233
70
5
76
401
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于