闭卷重建同步调用与异步消息的边界的对象、公式、算例、算法与失败边界。
Web系统与云原生 · 小纸条
选一章打印。双面打印(按长边翻页)后沿虚线剪开,每张卡片正面题目、背面答案。
闭卷重建至少一次投递与幂等消费的对象、公式、算例、算法与失败边界。
闭卷重建顺序、分区与消费者组的对象、公式、算例、算法与失败边界。
闭卷重建Outbox与双写一致性的对象、公式、算例、算法与失败边界。
闭卷重建流处理时间与窗口的对象、公式、算例、算法与失败边界。
闭卷重建后台任务、重试与毒消息的对象、公式、算例、算法与失败边界。
闭卷重建事件契约与Schema演进的对象、公式、算例、算法与失败边界。
对象:常见队列提供至少一次,消费者崩溃会重复;业务效果需用去重键/唯一约束。;公式:effect_count≤1 per message_id。;算例:消费者写DB后未ack即崩溃,消息重投;唯一message_id使第二次无新增。;边界:先记已处理再做业务导致消息永久丢效果。。
对象:同步调用立即返回结果但耦合可用性;异步消息解耦时间但引入重复、顺序和最终一致。;公式:end-to-end success differs from accepted-for-processing。;算例:API返回202仅表示任务入队,不表示邮件已发送。;边界:入队成功就展示业务完成;消息丢失无审计。。
对象:业务DB和消息系统无共同事务时,用outbox同事务记录事件再可靠发布。;公式:business write∧outbox insert commit atomically。;算例:订单提交与outbox同事务,发布器失败可稍后重试,不丢已提交事件。;边界:先发消息后事务回滚产生幽灵事件;先提交后进程崩溃丢消息。。
对象:队列通常只保证分区内顺序;key决定相关事件是否同分区,组内分配影响并行度。;公式:parallelism≤number of partitions。;算例:主题6分区、消费者组10实例,同时有活跃分区消费者最多6个。;边界:依赖全局顺序却多分区;随机key让同订单乱序。。
对象:任务状态机需区分待处理、运行、成功、可重试失败、永久失败和取消。;公式:retry delay=min(cap,base×2^attempt)+jitter。;算例:base1秒,第3次指数延迟约4秒(按attempt从0计),未含抖动。;边界:无限重试永久错误;DLQ无人监控。。
对象:事件时间、处理时间、水位线和允许迟到决定窗口何时出结果与如何更正。;公式:window result may update until watermark>window_end+lateness。;算例:窗口10:00结束,允许迟到5分钟,水位超过10:05后可最终关闭。;边界:用处理时间统计跨时区业务;迟到事件静默丢失。。
对象:事件是跨时间API,字段含义、key、顺序和兼容策略必须版本化。;公式:consumer compatibility tested against old/new producer schemas。;算例:新增有默认值字段可兼容旧消费者;重用旧字段改变含义会破坏。;边界:事件只存当前状态无变化语义;删除字段无迁移。。