We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
https://levy5307.github.io/blog/weak-consistency/
之前专门花时间调研过各种强一致性的分布式协议,却并未对弱一致性进行过深入研究,然而前段时间学习论文时候发现,其实很多存储系统还是采用的弱一致性,以获取较高的性能或者可用性。所以这里决定研究一下弱一致性。
Dynamo
Dynamo是由Amazon开发的一款分布式KV存储,其设计目标是:
高可用性
因此其采用的一致性模型是最终一致性,当然最终一致会带来冲突的问题
永远可写
因为Amazon有很多购物场景,对于像“加入购物车”这种行为,Amazon肯定希望永远成功的,因此其需要底层存储系统永远可写。
另外前面讲到,最终一致模型会带来冲突问题,所以何时解决冲突是需要考虑的一个问题。这里有两个选择:
写时解决
这是大部分系统所采取的方案,在这种方案中,读流程是比较简单。不过在这种系统中,如果写入不能到达全部或者大部分副本,写入将会被拒绝(只有到达大部分副本,两次不同写入才会到达至少一个节点,确保冲突可以解决)
读时解决
由于Dynamo需要保证永远可写,因此冲突解决是由读来完成的。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
https://levy5307.github.io/blog/weak-consistency/
之前专门花时间调研过各种强一致性的分布式协议,却并未对弱一致性进行过深入研究,然而前段时间学习论文时候发现,其实很多存储系统还是采用的弱一致性,以获取较高的性能或者可用性。所以这里决定研究一下弱一致性。
Dynamo
Dynamo是由Amazon开发的一款分布式KV存储,其设计目标是:
高可用性
因此其采用的一致性模型是最终一致性,当然最终一致会带来冲突的问题
永远可写
因为Amazon有很多购物场景,对于像“加入购物车”这种行为,Amazon肯定希望永远成功的,因此其需要底层存储系统永远可写。
另外前面讲到,最终一致模型会带来冲突问题,所以何时解决冲突是需要考虑的一个问题。这里有两个选择:
写时解决
这是大部分系统所采取的方案,在这种方案中,读流程是比较简单。不过在这种系统中,如果写入不能到达全部或者大部分副本,写入将会被拒绝(只有到达大部分副本,两次不同写入才会到达至少一个节点,确保冲突可以解决)
读时解决
由于Dynamo需要保证永远可写,因此冲突解决是由读来完成的。
The text was updated successfully, but these errors were encountered: