创建kafka生产对象

1、要往 Kafka 写入消息,首先要创建一个生产者对象,井设置一些属 Kafka 生产者有
个必选的属性。
1>bootstrap.servers 指定broker的地址清单,指定格式为host:port,清单里不需要包含所有的broker信息,可以指定一个broker,但是避免这台机器宕机而影响连接,所有至少需要两台,一台宕机,生产者任然能连接到集群上。
2>key.serializer broker希望接收到的key和value都是字节数组,要注意, key.serializer 「是必须设置的,就算你打算只发送值内容。
3>value.serializer
4>acks 指定该参数是必须有多少分区和副本接收到消息,生产者才会认为消息是写入成功的
ack=0 生产者发送消息后不会等待任何来自服务器的响应,从而达到很高的吞吐量,弊端是服务器接收消息成功或失败生产者是未知的,从而容易丢失数据。
ack=1 leader接收到消息就会将成功的信息响应给服务器,弊端之处是没等副本同步完数据就响应,那么leader挂掉,没有同步完数据的副本竞选leader,消息还是会丢失。
ack=all 只有当所有参与复制的节点全部接收到消息时,才会响应给服务器,生产者会接收到来自服务器的成功响应,这个模式是最安全的。弊端是因为等待的不止是一个服务器节点的响应,所以延迟会比ack1高。

原文地址:https://www.cnblogs.com/sgjk/p/13524977.html