闭卷重建日志型消息与消费位点的故障模型、消息状态、不变量与恢复边界。
分布式系统与可靠服务 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建至多一次、至少一次与有效一次的故障模型、消息状态、不变量与恢复边界。
闭卷重建事件时间、处理时间与水位线的故障模型、消息状态、不变量与恢复边界。
闭卷重建窗口、聚合与迟到更新的故障模型、消息状态、不变量与恢复边界。
闭卷重建有状态算子与检查点的故障模型、消息状态、不变量与恢复边界。
闭卷重建背压、扩缩容与状态迁移的故障模型、消息状态、不变量与恢复边界。
闭卷重建实验:水位线窗口处理器的故障模型、消息状态、不变量与恢复边界。
机制:提交与处理顺序决定丢失或重复,幂等sink、事务写和检查点可让结果达到有效一次;实验:给四个崩溃点判断记录丢失、重复或恰好应用;边界:端到端语义由source、引擎和sink共同决定,单说消息系统exactly-once不够。
机制:分区日志给每条记录单调offset,消费者提交位点表示恢复起点而非业务一定完成;实验:模拟先处理后提交与先提交后处理两种崩溃窗口;边界:offset有序只在分区内成立,多分区全局顺序需要额外定义。
机制:滚动、滑动和会话窗口按不同边界聚合,迟到记录可丢弃、侧输出或更新旧结果;实验:把事件分配到5分钟滚动与10/5滑动窗口,输出计数;边界:边界时刻归属必须明确定义,时区与夏令时也会改变业务窗口。
机制:事件时间描述业务发生,处理时间描述系统看到;水位线声明未来大概率不会再来更早事件;实验:输入乱序事件与水位线,决定窗口何时触发和迟到数据去向;边界:水位线不是绝对保证,允许迟到时间越长,状态和结果等待成本越高。
机制:下游变慢应通过有界队列传播背压;扩容需要重分区keyed state并保持处理顺序;实验:给到达率、服务率和队列容量计算溢出时间,再设计重分片;边界:无限缓冲隐藏过载直到内存崩溃,扩容速度也可能追不上状态复制。
机制:算子状态和source位点在一致屏障上快照,失败后从同一检查点恢复并重放;实验:模拟两个输入流屏障对齐和背压,记录检查点完成条件;边界:只保存内存状态不保存输入位点会重复或遗漏,异步快照也需写时一致视图。
机制:按事件时间、窗口边界和允许迟到维护状态,输出首次结果与修正结果;实验:覆盖有序、乱序、迟到可接收和过晚侧输出四类测试;边界:输入顺序不能冒充事件时间顺序,水位线必须单调不退。