Kafka生产者
Kafka生产者将记录发送到主题。记录有时被称为消息。 生产者选择哪个分区将记录发送到每个主题。生产者可以轮循发送记录。根据记录的优先级,生产者可以基于向某些分区发送记录来实现优先级系统。
一般来说,生产者根据记录的Key将记录发送到分区。 Java的默认分区使用记录Key的哈希来选择分区,如果记录没有Key,则使用轮循策略。 这里的重要概念是生产者选择分区。
生产者正在对Offset 12进行写,同时消费者组A正在从偏移量9中读取。
Kafka生产者的写节奏和记录的分区
生产者以自己的节奏写记录,所以在分区之间不能保证记录的顺序。生产者可以配置其一致性/耐久性水平(ack = 0,ack = all,ack = 1),稍后我们将介绍。生产者选择分区,使得记录/消息根据数据转到给定的分区。例如,您可以将某个“employeeId”的所有事件都转到相同的分区。如果不需要分区中的顺序,则可以使用“轮循”分区策略,因此记录在分区之间均匀分布。
生产者回顾
生产者偶尔会写得比消费者快?
是的。生产者可能会有一连串的记录,一个消费者不一定要跟上与另一个消费者。
没有使用Key的生产者的默认分区策略是什么?
轮循
使用了Key的生产商者的默认分区策略是什么?
具有相同key的记录将被发送到同一个分区。
一个记录发送到哪个被选择的分区上?
生产者选择一条记录转到哪个分区上。