打造高性能 Kafka队列
目录 一、原理简述 二、Producer 原理 三、Producer 端参数详解 四、Kafka Server 基本原理 五、KafkaServer 主分区与副本数据同步原理 六、KafkaServer 零拷贝原理 七、KafkaServer Leader 选举 八、KafkaConsumer 原理 九、KafkaConsumer 参数详解 十、性能优化方案 一、原理简述 【1】 Producer 将消息进行分组分别发送到对应 leader 节点; 【2】 Leader 将消息写入本地 log ; 【3】 Followers 从 Leader pull 最新消息,写入 log 后向 Leader 发送 ack 确认; 【4】 Leader 收到所有 ISR 中的 Follower 节点的 ACK 后,增加 HW ,标记消息已确认全部备份完成,最后返回给 Producer 消息已提交成功; 【5】消费端从对应 Leader 节点 poll 最新消息并消费,消费完成后将最新的 offset 位置提交至 Topic 为 _consumer_offsets 的主节点中保存。 二、Producer 原理 初始化 KafkaProducer,会创建一个后台线程 KafkaThread ,会循环的判断缓存中的数据是否需要提交。同时会发送消息,主要指定 Topic和 Value,不建议指定