架构师训练营第六周作业
作业1:阐述CAP原理。
CAP原理说的是,在分布式系统中,一致性(Consistency),可用性(Availability)和分区耐受性(Partition-tolerance),这三者中最多能同时满足两者。
这些所说的一致性,是强一致性,而不是最终一致性,或者说这里的一致性是线性一致性,不管有多少个节点,用户访问返回的时候都跟一台机器没有区别,返回的数据总是最新写入的。
可用性比较好理解,指的是每次有访问请求,系统中没有故障的节点都应该返回一个正常的响应,而不是一个错误。
分区耐受性,指的是分布式系统中,由于网络问题或者节点故障,导致部分节点之间无法连通。
CAP的三者最多取其二应该是比较好理解的,只有一台服务器的时候,是可以保证一致性和可用性的,但是完全没有分区耐受性,服务器故障就没法提供任何服务;如果要保证分区耐受性,则必须考虑当出现分区问题时,是访问正常响应还是一个错误,正常响应由于分区的存在,必然无法保证线性一致性。
在互联网系统中,随着用户量的增加,部署节点也要随之增加,而节点/网络故障是无法从根本上避免的,故而大部分系统中P是必然要保证的,而在C和A中选其一。 如果系统面向最终用户,则为了用户体验,都会保证可用性而牺牲一致性,通过其他补偿手段实现最终一致性。
作业2:针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)。
版权声明: 本文为 InfoQ 作者【sunnywhy】的原创文章。
原文链接:【http://xie.infoq.cn/article/db15b8994ef001f60b46ab391】。文章转载请联系作者。
评论