分布式一致性与共识
在学习微服务RPC,服务注册发现等相关概念时,总是绕不开一个话题分布式一致性,虽然之前在MIT6.824的课程中已经进行深入的学习,但是每每遇到还是对这些概念不甚清晰,因此这篇博客主要是从整合的角度复习之前学过的知识。
常见概念
分布式和单机本质的不同在于没有一个统一的时钟以及一份数据有多个副本,不同的用户请求于不同时间发出,由于网络延迟等问题以不同的顺序,对不同数据副本进行操作,这就带来两个问题:
- 如何确定谁的请求先来,谁的请求后来,怎么确定一个所谓的“先来后到”?(可以类比Mysql并发控制的感觉)
- 副本的操作如何及时同步,用户能不能看到最新的副本?