写点什么

架构师训练营 Week6 作业

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

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

作为海量分布式KV存储系统,常见故障分为三类:

1) 瞬时故障. 瞬间秒级恢复,一般指网络中断, 内存垃圾回收或者线程忙导致停止数据访问等.

2) 临时故障.网卡,交换机,内存损坏,CPU过热等硬件原因,这种情况一般需要人工干预,恢复时间一般在几十分钟到几小时内不等.

3) 永久故障. 硬盘损坏,数据损坏丢失.



针对临时故障, 分为以下几个阶段:

1) 判定故障, 主要经历为应用层-->存储服务器A--->失败, 然后根据设定好的重试机制进行重连, 如果仍然失败, 则应用层--->管理中心请求仲裁--->发送心跳到存储服务器A---如果请求通讯超时,此时判定存储服务器A为故障,进行系统内广播,告知不要再请求到这个服务器,并通知相关人员人工介入干预. UML图如下:



2) 失效期内的读写: 临时故障失效期内, 将数据写到正常的存储服务器,同时记录日志文件到备份服务器,待故障恢复后进行同步. 读取数据服务只从正常存储服务器读. 具体UML图如下:



3)恢复故障期间的读写:正常启动后,备份服务器将数据同步到故障恢复的节点服务器中,此时,读取服务,仍然从正常服务器中读取,待恢复同步完毕,写数据服务,可以和以前一样,同时写两份,一份到正常服务器,一份到故障恢复的节点中. UML见下图:



用户头像

Frank Zeng

关注

还未添加个人签名 2018.09.17 加入

还未添加个人简介

评论

发布
暂无评论
架构师训练营Week6作业