架构师训练营 Week6 作业
针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)
作为海量分布式KV存储系统,常见故障分为三类:
1) 瞬时故障. 瞬间秒级恢复,一般指网络中断, 内存垃圾回收或者线程忙导致停止数据访问等.
2) 临时故障.网卡,交换机,内存损坏,CPU过热等硬件原因,这种情况一般需要人工干预,恢复时间一般在几十分钟到几小时内不等.
3) 永久故障. 硬盘损坏,数据损坏丢失.
针对临时故障, 分为以下几个阶段:
1) 判定故障, 主要经历为应用层-->存储服务器A--->失败, 然后根据设定好的重试机制进行重连, 如果仍然失败, 则应用层--->管理中心请求仲裁--->发送心跳到存储服务器A---如果请求通讯超时,此时判定存储服务器A为故障,进行系统内广播,告知不要再请求到这个服务器,并通知相关人员人工介入干预. UML图如下:
2) 失效期内的读写: 临时故障失效期内, 将数据写到正常的存储服务器,同时记录日志文件到备份服务器,待故障恢复后进行同步. 读取数据服务只从正常存储服务器读. 具体UML图如下:
3)恢复故障期间的读写:正常启动后,备份服务器将数据同步到故障恢复的节点服务器中,此时,读取服务,仍然从正常服务器中读取,待恢复同步完毕,写数据服务,可以和以前一样,同时写两份,一份到正常服务器,一份到故障恢复的节点中. UML见下图:
评论