标准答案
- 分区把消息流拆成多个可并行处理的有序子流,提高吞吐;通常只能保证单分区内顺序,业务应按订单、用户或 SKU 等 Key 路由。
- 副本复制让节点故障后可从其他副本恢复,但复制越严格,写入确认等待越长;副本不足时系统可能选择拒绝写入或扩大数据风险。
- 生产者确认级别决定 Broker 在什么条件下告诉发送方成功,例如仅主节点接收、至少一个副本复制或更多副本确认,不同设置影响吞吐、延迟和故障丢失概率。
- 消费者的提交与确认决定消息何时可视为已处理。确认过早可能丢处理,确认过晚可能重复处理,必须配合幂等。
题目解析
高吞吐、全局顺序、低延迟和强副本确认不能同时免费获得。回答时应先说明业务 Key 的顺序要求和可接受的数据窗口,再选择分区数和确认策略。
增加分区会改善并行度,却会增加重平衡、热点 Key 和顺序维护复杂度;分区数不是越大越好。
常见误区
- 认为有多个分区后仍能自然得到全局顺序。
- 只配置副本数,不检查最小可用副本和生产者确认策略。