Loading

kafka--Producer知识

Producer发送模式

  • 同步发送
  • 异步发送
  • 异步发送回调

Producer源码讲解

  • Producer发送流程:1.构建对象 2.发送消息
    image

  • KafkaProducer构建clientId,为了给metricConfig(上报指标),初始化Serializer,加载partition负载均衡器,初始化RecordAccumulator类似于计数器,守护线程

  • Producer是线程安全的

  • Producer批量发送,减少磁盘IO操作,kafka日志是追加的方式,保证顺序

  • Producer.send计算分区,计算批次,accumulator.append达到一定阈值就会发送

  • 创建批次,想批次追加消息

Producer发送原理

  • 直接发送
  • 负载均衡(kafka的数据是可以控制在哪个partition上)
  • 异步发送(内存里面积累数据,当数据达到一定的阈值/时间,就会按照批次发送)
    image

消息传递保障

  • 最多一次(收到0到1次)
  • 至少一次(收到1到多次)
  • 正好一次(有且仅有1次)
posted @ 2022-09-20 09:44  DoDo神  阅读(45)  评论(0编辑  收藏  举报