标签:拦截器 浅谈 读书笔记 生产者 分区 kafka 发送 消息 序列化
生产者的生命周期是怎样的?
- 配置生产者客户端参数并创建相应实例
- 构建待发送的消息
- 发送消息
- 关闭消费者实例
生产者做了些什么?
- 将消息和消息相关信息封入ProducerRecord
- 通过拦截器对消息进行过滤或修改
- 使用序列化器将对象换成字节数组(broker只接收字节数组)
- 使用分区器指定消息对应消息分区
- 用三种方式发送消息,同步、异步、发后即忘
生产者的可配置的地方有哪些?
- 初始化配置:
broker的ip端口清单,指定消息key和value序列化器
拦截器、序列化器、分区器都可以替换,但是生产者和消费者的序列化器和反序列化器要适配。 - acks:
决定消息的可靠性 - max.request.size:
- 限制生产者客户端能发送消息最大值。
- 消息发送失败重试次数和重试间隔
- 闲置连接的关闭时间
- linger.ms:
决定ProducerBatch发送的时间间隔,提高它坏处是增加消息延迟,好处是会提升一定的吞吐量。
生产者线程模型是什么样的?
由一个主线程和发送者线程构成
标签:拦截器,浅谈,读书笔记,生产者,分区,kafka,发送,消息,序列化 来源: https://blog.csdn.net/qq_34315363/article/details/122532290
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。