在Kafka的线上应用中,核心支付链路和用户行为埋点链路代表了分布式系统中两种最极端的业务场景:前者追求绝对的可靠性(0丢失)与一致性,后者追求极高的吞吐量与低延迟。 以下是这两类链路在线上环境的具体配置方案及其背后的取舍逻辑: --- 一、 核心支付链路 (Core Payment Pipeline) 业务诉求:金融级可靠性,数据绝对不能丢,且不能乱序,不允许重复处理。 1. 核心配置方案 (或 ) 配合 Broker 端配置:必须同时设置 Topic 级别的 (通常副本数 replication.factor 设为 3,min.insync.replicas 设为 2)。 逻辑:Leader 必须等待至少一个 Follower 同步成功后,才向 Producer 返回成功。 (或非常大的值,如 2147483647) 逻辑:遇到网络抖动或 Broker 选举等可恢复异常时,无限次重试,直到成功。 配套关键配置: (开启幂等性):防止无限重试导致的数据重复。 (开启幂等时最高设为5):在保证高吞吐的同时,Kafka底层结合幂等性机制可以保证消息绝对不乱序。 (2分钟):给足重试...