架构师训练营第六周

发布于: 2020 年 07 月 15 日
架构师训练营第六周

作业一:

下面两题,至少选做一题

  • 请简述 CAP 原理。

C:Consistency

即一致性,访问所有的节点得到的数据应该是一样的。这里的一致性指的是强一致性,也就是数据更新完,访问任何节点看到的数据完全一致,要和弱一致性,最终一致性区分开来。

A:Availability

即可用性,所有的节点都保持高可用性。这里的高可用还包括不能出现延迟,比如如果节点B由于等待数据同步而阻塞请求,那么节点B就不满足高可用性。

也就是说,任何没有发生故障的服务必须在有限的时间内返回合理的结果集。

P:Partiton tolerence

即分区容忍性,这里的分区是指网络意义上的分区。由于网络是不可靠的,所有节点之间很可能出现无法通讯的情况,在节点不能通信时,要保证系统可以继续正常服务。

 

CA without P:如果不要求P(不允许分区),则C(强一致性)和A(可用性)是可以保证的。但其实分区不是你想不想的问题,而是始终会存在,CA系统基本上是单机系统,比如单机数据库。2PC是实现强一致性的具体手段。

CP without A:如果不要求A(可用),相当于每个请求都需要在Server之间强一致,而P(分区)会导致同步时间无限延长,如此CP也是可以保证的。很多传统的数据库分布式事务都属于这种模式。

AP wihtout C:要高可用并允许分区,则需放弃一致性。一旦分区发生,节点之间可能会失去联系,为了高可用,每个节点只能用本地数据提供服务,而这样会导致全局数据的不一致性。现在众多的NoSQL都属于此类。

作业二:

根据当周学习情况,完成一篇学习总结

分布式数据库与NoSQL

数据库索引

Mycat

映射外部存储

Cobar 系统组件模型 扩容策略 综合部署

CAP 原理与一致性冲突

产品需求

基于虚拟节点的分区算法

永久失效 扩容实施数据迁移

Doris

用户头像

还未添加个人签名 2020.05.25 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营第六周