分布式-大規模分佈式存儲是一個大型系統的關鍵,大家怎麼在一致性和可用性上面取捨的呢?
大規模分佈式存儲是一個大型系統的關鍵,大家怎麼在一致性和可用性上面取捨的呢?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
大規模分佈式存儲是一個大型系統的關鍵,大家怎麼在一致性和可用性上面取捨的呢?
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
个人认为要分什么应用吧。
比如微博发消息这样的功能,可用性高于一致性。因为首先要保证微博能正常发出去,但允许follow的人晚一点看到消息。
比如用户注册,一致性高于可用性,因为不允许有二个相同的用户名。
分布式领域CAP理论,由Eric Brewer提出。
Consistency (一致性), 数据一致更新,所有数据变动都是同步的
Availability (可用性), 好的响应性能
Partition tolerance (分区容错性) 分布式
CAP告诉我们,任何一个分布式系统不可能同时满足这三个条件,最多只能同时满足两个,没法三者兼顾。所以分布式系统中,就是C 和 A 的取舍。
我个人觉得首先把系统中的功能模块进行优先级的划分,确定哪些是要保证一致性的,哪些是要保证可用性的。
之后再次对功能模块的可用性等级再次划分,分成高中低(这个试情况而定),高可用性的,需要系统即时保持同步,中级的可以用存储队列一次处理的方式来保证数据时效,低级的可以按时间间隔来统一同步。
这样可以不同的应用场景灵活应用。
可用性和一致性在于数据是否互相影响,如果是就要一致性,否则就是可用性;