Kafka高级特性
1. 生产者
1.1 消息发送
数据生产流程解析
1.Producer创建时,会创建⼀个Sender线程并设置为守护线程。 2.⽣产消息时,内部其实是异步流程;⽣产的消息先经过拦截器->序列化器->分区器, 然后将消息缓存在缓冲区(该缓冲区也是在Producer创建时创建)。 3.批次发送的条件为:缓冲区数据⼤⼩达到batch.size或者linger.ms达到上限,哪个先达到就算哪个。 4.批次发送后,发往指定分区,然后落盘到broker;如果⽣产者配置了retrires参数⼤于0并且失败原因允许重 试,那么客户端内部会对该消息进⾏重试。 5.落盘到broker成功,返回⽣产元数据给⽣产者。 6.元数据返回有两种⽅式:⼀种是通过阻塞直接返回,另⼀种是通过回调返回。
必要参数配置