Producer
- Kafka生产者代码注意事项
- 生产者线程模型 主线程 + RecordAccumlator + Sender线程 类说明
- RecordAccumlator类包含以TopicPartition对应的双向队列(``` Map<TopicPartition, Deque<RecordBatch>
> ```
if (error != Errors.NONE && canRetry(batch, error)) {
// retry
log.warn("Got error produce response with correlation id {} on topic-partition {}, retrying ({} attempts left). Error: {}",
correlationId,
batch.topicPartition,
this.retries - batch.attempts - 1,
error);
this.accumulator.reenqueue(batch, now);
Kafka Controller old version: broker通过zk完成集群状态的维护 current: kafka controller,职责维护broker的状态,维护partition,replica的list和leader和follower列表。 broker有状态变化修改ZK,KC监听ZK