写点什么

【第六周】作业——CAP 原理,Doris 临时失效

用户头像
三尾鱼
关注
发布于: 2020 年 07 月 16 日

下面两题,至少选做一题

  • 请简述 CAP 原理。

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


答:

1、CAP 原理

一致性(Consistency):每次读取的数据都应该是最新写入的数据,而不是过期数据。

可用性(Availability):非故障节点每次请求都应该返回正常状态(不能是错误或者超时)。

分区容错性(Partition Tolerance):当发生分区问题时,系统能继续履行职责。


对于一个分布式存储系统 CAP 是不同同时满足的,而分区失效一定会发生的。也就是说 P 是必须保证,而 C 和 A 是要看场景进行选择。但并不是就一定要完全舍弃另一方,比如经常会使用的满足 AP 前提下的最终一致性方案(对用户使用最终一致)。


限定(在这个前提下去理解会清晰很多,否则范围错误的放大,对概念的理解都变得更复杂和困难)

  1. CAP 针对相互连接且数据共享的多分区场景。

  2. CAP 关注的粒度是数据,而不是系统。


2、 Doris 临时失效时序图


Doris 的失效场景分为三种:瞬时失效,临时失效,永久失效。

瞬时失效

当客户端(KV Client)访问某台数据服务(Data Server)时,发生访问异常。比如由于 JVM 的 Stop The Word,网络异常等失去响应。故障很短暂,通常一两秒内甚至毫秒级就能自行恢复。

Doris 通过三次重试和 sleep(几百毫秒)的方式进行瞬时失效应对。如果还是未能解决,通知控制中心检查节点状态。

临时失效

如果控制中心检查(重试三次写入)确认失效,那么该数据服务被标记为临时失效状态。控制中心通知所有的客户端该节点失效。

比如服务器宕机,服务器升级,网卡,交换机等导致节点临时失效。临时失效节点允许在短时间内恢复(比如 2 小时)。这类故障特点时需要人工干预。


永久下线:未能在临时失效允许的时间内恢复,就认为节点永久失效。这时需要找一台集群中的机器替代该机器。


临时失效处理时序图:


用户头像

三尾鱼

关注

还未添加个人签名 2018.07.10 加入

还未添加个人简介

评论

发布
暂无评论
【第六周】作业——CAP原理,Doris临时失效