etcd Watch 客户端应如何利用 revision 处理断线后的事件缺口?
围绕“etcd Watch 客户端应如何利用 revision 处理断线后的事件缺口”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明用已见 revision 恢复监听并处理压缩导致的历史不可用。
分布式系统 · 消息与异步处理面试题第 1 页,显示第 1–44 题,共找到 44 道完整解析,可继续按分类、标签与关键词缩小范围。
按稳定语义路径排序
围绕“etcd Watch 客户端应如何利用 revision 处理断线后的事件缺口”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明用已见 revision 恢复监听并处理压缩导致的历史不可用。
本题聚焦 Kafka at-most-once 的实现时序与崩溃窗口,明确先提交位移的风险边界,强调消息处理与位移提交的先后关系对数据丢失的影响。
围绕“Kafka enable.auto.commit 为什么会在两次自动提交之间产生重复消费”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须定位自动提交间隔、处理耗时和崩溃形成的重复窗口。
围绕“Kafka 重放历史积压时应如何估算恢复时间并保护在线消费”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须基于 lag、消费速率和重放与实时流量竞争制定限速或隔离方案。
本题解析 Kafka 消费者两种 offset 提交方式的失败处理差异。比较同步提交的阻塞重试与异步提交的回调及覆盖风险,通过具体场景说明偏移量跳跃的可能,并给出选择建议。
围绕“Kafka 消费滞后应如何根据日志末端位点与已消费位点判断”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要解释 lag 是位点差且需结合消息大小和到达速率解读。
围绕“Kafka 增加消费者实例为什么超过分区数后不能继续降低积压”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明一个分区在同一消费者组内只能由一个成员消费及多余实例空闲。
围绕“Kafka 死信消息重新投递前必须先确认哪些条件”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明故障已修复、消息仍有效且重放具备幂等性。
围绕“Kafka 死信 topic 中的消息必须保留哪些上下文才便于诊断”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须列出原始 topic、分区、offset、时间和失败原因等定位信息。
本题说明 Kafka exactly-once 的边界:内部事务保证 read-process-write 链路,消费者侧 offset 同一事务提交;外部副作用不在事务范围。给出机制、场景和失效条件,帮助判断工程取舍。
围绕“Kafka 如果要求主题全局有序,通常要付出什么吞吐代价”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须得出全局顺序通常要求单分区单消费者或等效串行化的结论。
围绕“Kafka 消费者做幂等去重时,为什么只用 topic、partition 和 offset 可能不够”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明跨重放、跨主题合并和业务重复时还需业务幂等键。
围绕“Kafka 消费者组总 lag 不高但个别分区严重积压说明什么问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按分区检查 key 倾斜、分配不均或单分区处理阻塞,不把问题归因于整体消费者数量不足。
围绕“Kafka 消费 lag 持续上升时如何区分生产突增与消费者处理瓶颈”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较入口速率、消费速率和单条处理耗时后再定位瓶颈。
围绕“Kafka compacted topic 重放时为什么不能期望看到每个历史更新”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明同一 key 旧记录可能被压缩删除、重放得到的是保留的最新值或删除标记。
围绕“Kafka 消费者因处理太慢超过 max.poll.interval.ms 后会发生什么”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明离组、分区重分配和旧实例继续处理可能造成的重复。
围绕“Kafka max.poll.records 设置过大为什么会同时拉长单批处理和再均衡风险”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较批大小、poll 间隔和下游耗时的关系,不把批处理配置与分区数量混淆。
本文从投递语义角度分析 Kafka offset 提交时机。先提交再处理导致崩溃时消息丢失,先处理后提交产生重复。通过场景说明选择依据,并指出不适用事务和幂等场景。
围绕“Kafka 如何按业务时间点找到可重放的 offset”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按时间戳返回的是首个不早于该时间的位点及其精度边界。
围绕“Kafka 应用想提高吞吐又保留键级顺序时应如何并行消费”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答要按业务键把并行度约束在互不相关的键之间。
围绕“业务数据库与 Kafka 之间为什么常用 outbox 表保证状态变更和事件发布不分裂”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明本地事务先落 outbox、再异步投递如何规避双写失败窗口。
围绕“Kafka 为什么只能依赖同一分区内的日志顺序实现键级有序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明相同 key 路由到同一分区及跨分区无全局顺序。
围绕“Kafka 消费者能否通过 pause 和 resume 安全处理耗时业务”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明暂停拉取不等于维持组成员资格,并判断仍需控制 poll 间隔或拆分任务。
围绕“Kafka 消费者遇到毒丸消息时为什么不能无限在原分区重试”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须识别不可恢复消息对后续消息、消费滞后和资源占用的影响。
解析Kafka生产者在acks=0、1、all下的可靠性差异,包括失败可见性、延迟和副本持久性。详细说明每种级别的消息丢失场景及min.insync.replicas的作用,指导配置选择。
围绕“Kafka 生产者开启重试时如何避免同一分区内的消息乱序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖回答需要围绕必须结合 max.in.flight.requests.per.connection 与幂等性约束判断并发请求重排。
围绕“Kafka isolation.level=read_committed 的消费者会如何处理未提交和中止事务”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明只读已提交记录、跳过中止记录及对消费延迟的影响。
围绕“Kafka 修改主题分区数为什么可能破坏既有业务键的顺序预期”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明哈希取模路由变化导致同一 key 的旧消息和新消息落在不同分区。
围绕“Kafka 消费者发现分区没有已提交 offset 时如何决定从哪里开始读”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须区分 earliest、latest 与 none 对历史数据、实时数据和报错行为的影响。
围绕“Kafka 重放前为什么要检查消息保留期与最早可用 offset”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明目标位点是否已被日志保留策略删除。
围绕“Kafka 指数退避重试为什么可能改变同分区消息的处理顺序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖判断时要说明暂停分区、跳过重试和并行重试对顺序的不同影响。
围绕“Kafka 消费遇到可恢复错误时应如何重试而不提交失败消息的 offset”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明保留位点、控制重试次数和避免快进造成消息跳过。
围绕“Kafka 用多个 retry topic 实现延迟重试时应按什么维度划分重试级别”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须比较按延迟等级建 topic 与按错误类型建 topic 的路由效果。
围绕“Kafka 消费者 seek 到指定 offset 重放数据时应先处理哪些一致性问题”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 seek 与提交位点、下游状态和重放范围的协调。
围绕“Kafka 流处理为什么要把消费 offset 与输出写入放进同一事务”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明输入位点和输出结果原子提交如何形成 Kafka 内端到端语义。
围绕“Kafka static group membership 如何减少消费者短暂重启引发的再均衡”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明固定实例身份与会话超时的配合及真正宕机时仍会转移分区。
围绕“Kafka 压缩主题中的 tombstone 记录应如何参与异步删除语义”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 null value 先向消费者表达删除、之后在满足保留条件时物理清除。
围绕“Kafka 事务超时后被中止时,应用侧已经产生的外部副作用能否自动回滚”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须明确 Kafka 事务只回滚 Kafka 记录和 offset,不撤销数据库写入或远程调用。
围绕“Kafka transactional.id 如何防止同一应用旧实例继续提交事务”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明稳定身份和 epoch fencing 如何隔离僵尸生产者。
围绕“Kafka 事务生产者如何保证跨多个分区的写入要么全部可见要么全部不可见”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明事务协调与提交标记提供的原子边界。
围绕“PostgreSQL LISTEN/NOTIFY 的异步通知在事务和连接断线下有什么投递边界”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明通知在提交后才投递、会话断线期间不会持久排队,不把它当作可靠消息队列。
围绕“PostgreSQL 订阅者落后时,发布端为什么可能保留大量 WAL 并造成存储积压”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖必须联系复制槽保留 WAL 与订阅滞后来诊断磁盘增长。
围绕“PostgreSQL 逻辑复制如何用复制位点避免订阅者重复应用变更”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明 WAL 位点记录复制进度及确认边界。
围绕“PostgreSQL 逻辑复制能保证哪些事务提交顺序,不能把它误认成什么消息顺序”给出直接结论、机制拆解、可复现验证、常见误区与追问,重点覆盖需要说明按事务提交顺序应用变更而非按单条 SQL 或跨发布全局消息顺序。