频道栏目
首页 > 资讯 > 云计算 > 正文

关于kafka生产者的知识浅谈

18-07-28        来源:[db:作者]  
收藏   我要投稿

kafka producer:消息生产者,就是向kafka broker中发送消息的客户端。

kafka producer相关配置:

其中:

bootstrap.servers :kafka集群地址通常为 ***:9092,***:9092,***:9092

acks:生产者认为一个请求完成,所需要kafka集群主服务的应答次数。这个配置控制已发送消息的持久性。下面是这个配置可能的值。

acks=0:如果设置为0,生产者不会等待kafka的响应,高吞吐。消息会被立刻加到发送缓冲通道中,并且认为已经发送成功。这种情况下,不能保证kafka接收到了这条消息,retries配置不会生效,每条消息的偏移量都是1;

acks=1:这个配置意味着kafka会把这条消息写到本地日志文件中,但是不会等待集群中其他机器的成功响应。这种情况下,在写入日志成功后,集群主机器挂掉,同时从机器还没来得及写的话,消息就会丢失掉。

acks=all:这个配置意味着leader会等待所有的follower同步完成。这个确保消息不会丢失,除非kafka集群中所有机器挂掉。这是最强的可用性保证,最安全模式,但延迟相对较长。

retries:配置为大于0的值得花,客户端会在消息发送失败时重新发送。重试等同于在发送有异常时重新发送消息。如果不把max.in.requests.per.connection设为1,重试可能会改变消息的顺序。两条消息同时发送到同一个分区,第一条失败了,并在第二条发送成功后重试,那么第二条消息可能在第一条消息前到达。

相关TAG标签
上一篇:关于hive函数返回的数据类型浅谈sparksql
下一篇:win10下的Android、Eclipse-8.0.2和PhoneGap-8.0.0环境配置教程
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站