第六周作业

用户头像
魔曦
关注
发布于: 2020 年 07 月 15 日

下面两题,至少选做一题

  • 请简述 CAP 原理。



背景:在分布式系统中数据的一致性一直是困扰着各位设计者,为了满足一致性八仙过海各显神通,最终无一例外都没有达到预期的效果,而且还会导致系统更复杂,系统就是为了应对复杂性而设计,结果系统也变

的更复杂。CAP原理的诞生一定程度规避了数据一致性问题。



CAP定义:1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标。分别是Consistency、Availability、Partition tolerance,Eric Brewer 说这三个指标不可能同时做到。



实践:CAP原理其实就是个设计的核心准则,不可能三者都满足,需要设计者根据场景来做好balance,正因为如此才会产生各种产品比如Redis、etcd、eureka等,它们的可以满足不同的场景。CAP日常中最常用的就是AP、CP两种,CA退化到单机可以不用考虑了。



  • 针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)。

故障发现过程:

失效中读写:

读:随机选择两个中一个进行读操作

写:写入对等服务和备份服务(写入的是操作日志)

失效恢复:

备服务迁移数据到故障服务;此时故障服务对外可读,不可写;当数据迁移(定义偏序关系,解决冲突)完成,故障服务状态变为正常态,可读可写;注意通知客户端写入不需要写入临时备服务;



用户头像

魔曦

关注

我思故我在! 2018.01.15 加入

凡事有交代,件件有着落,事事有回音。

评论

发布
暂无评论
第六周作业