kafka读书笔记(二)浅谈生产者

生产者的生命周期是怎样的?

  1. 配置生产者客户端参数并创建相应实例
  2. 构建待发送的消息
  3. 发送消息
  4. 关闭消费者实例

生产者做了些什么?

  1. 将消息和消息相关信息封入ProducerRecord
  2. 通过拦截器对消息进行过滤或修改
  3. 使用序列化器将对象换成字节数组(broker只接收字节数组)
  4. 使用分区器指定消息对应消息分区
  5. 用三种方式发送消息,同步、异步、发后即忘

生产者的可配置的地方有哪些?

  • 初始化配置:
    broker的ip端口清单,指定消息key和value序列化器
    拦截器、序列化器、分区器都可以替换,但是生产者和消费者的序列化器和反序列化器要适配。
  • acks:
    决定消息的可靠性
  • max.request.size:
  • 限制生产者客户端能发送消息最大值。
  • 消息发送失败重试次数和重试间隔
  • 闲置连接的关闭时间
  • linger.ms:
    决定ProducerBatch发送的时间间隔,提高它坏处是增加消息延迟,好处是会提升一定的吞吐量。

生产者线程模型是什么样的?

由一个主线程和发送者线程构成
kafka读书笔记(二)浅谈生产者

上一篇:kafka(二)


下一篇:M1 Mac 下使用python将doc批量转换为docx