Doris 临时失效处理过程
针对 Doris 案例,请用 UML 时序图描述 Doris 临时失效的处理过程(包括判断系统进入临时失效状态,临时失效中的读写过程,失效恢复过程)。
临时失效
应用有三种状态:正常,失效,失效恢复
如果写请求有其中一个节点写入失败,client会通知管理服务器,管理服务器会进行一次确认检查,如果响应还是异常,此时通知整个集群该节点失效。
此时client依然还会写两份数据,只是原来应该写入失效节点的数据,会写入临时备份节点,备份节点记录的并不是最终结果数据,而是数据执行日志类似mysql binlog。
如果之后一段时间失效节点恢复,在提供服务前会将临时备份节点中属于自己的数据全部同步给自己,同步期间失效节点进入失效恢复状态,此时由于数据不一致该节点只写不读,如果同步期间同一份数据client又一次进行写入,此时会比较数据产生时间戳丢弃掉历史旧数据。
临时失效期间可用节点会承担所有读请求
评论