kafka之producer生产者

Kafka生产者

1. 生产者模式

Kafka生产者有两种工作模式,即同步模式和异步模式。

异步模式下,生产者客户端应用程序不需要提供回调函数,生产者客户端应用程序发送完一条消息后,不需要关心服务器端处理完了没有,可以接着发送下一条消息。服务端在处理完每一条消息后,会自动触发回调函数,返回响应结果给客户端。

同步模式下,生产者发送完一条消息后,必须等待服务端返回响应结果,然后才能发送下一条消息。

2. 生产者消息的发送

KafkaProducer只用了一个send方法,就可以完成同步和异步两种模式的消息发送。

生产者客户端对象KafkaProducer的send方法的处理逻辑是:首先序列化消息的key和value(消息必须序列化成二进制流的形式才能在网络中传输),然后为每一条消息选择对应的分区(表示要将消息存储到Kafka集群的哪个节点上),最后通知发送线程发送消息。

3. 生产者参数设置

request.requred.acks:

0:producer不等待broker的ack,这一操作提供了一个最低的延迟,broker一接收到还没有写入磁盘就已经返回,当broker故障时有可能丢失数据;

1:producer等待broker的ack,partition的leader落盘成功后返回ack,如果在follower同步成功之前leader故障,那么将会丢失数据;

-1:producer等待broker的ack,partition的leader和follower全部落盘成功后才返回ack,数据一般不会丢失,延迟时间长但是可靠性高;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值