KafkaClient几个重要的参数属性

1)bootstrap.servers --设置生产者需要连接的kafka地址
2)、acks --回令类型

2.1 acks=0

消息发送出去,不管数据是否从Partition Leader上写到磁盘是否成功,直接认为消息发送成功。

tips:
采用这种设置,消息可能到达Partition Leader之前,Partition Leader所在Broker宕机,客户端错认为消息发送成功,此时就会导致消息丢失。

2.2 acks=1

Partition Leader接收到消息并写入本地磁盘,就认为消息发送成功,不管其他的Follower有没有同步消息。

tips:
这种设置是kafka默认的设置。默认情况下,你要是不管acks这个参数,只要Partition Leader写磁盘成功就算消息发送成功。但假如Partition Leader接收到消息后,Follower还没来得及同步消息,结果Leader所在的broker宕机了,此时会导致消息丢失,客户端错以为消息发送成功。

 2.3 acks=all
Partition Leader接收到消息之后,必须确认ISR列表里跟Leader保持同步的Follower列表集合都要同步此消息后,客户端才认为消息发送成功。
3)retries --重试次数
4)batch.size --批量提交大小
5)linger.ms --提交延迟等待时间(等待时间内可以追加提交)
6)buffer.memory --缓存大小
7)key.serializer|value.serializer --序列化方法

 

你可能感兴趣的:(大数据系列)