Apache kafka 我们所说的'是什么意思;提交';卡夫卡经纪人中的数据?
在包含N个代理的Kafka集群中,对于针对分区的主题T,生产者将数据发布到Leader代理。卡夫卡术语中的“提交”一词是指数据在Leader broker中提交,还是将数据提交给Leader broker以及ISR列表中可用的相应关注者。这由所谓的Apache kafka 我们所说的'是什么意思;提交';卡夫卡经纪人中的数据?,apache-kafka,kafka-producer-api,Apache Kafka,Kafka Producer Api,在包含N个代理的Kafka集群中,对于针对分区的主题T,生产者将数据发布到Leader代理。卡夫卡术语中的“提交”一词是指数据在Leader broker中提交,还是将数据提交给Leader broker以及ISR列表中可用的相应关注者。这由所谓的ack控制: acks=0如果设置为零,则制作者根本不会等待服务器的任何确认。该记录将立即添加到套接字缓冲区并被视为已发送。在这种情况下,无法保证服务器已收到记录,重试配置将不会生效(因为客户端通常不知道任何故障)。为每条记录返回的偏移量将始终设置为
ack
控制:
如果设置为零,则制作者根本不会等待服务器的任何确认。该记录将立即添加到套接字缓冲区并被视为已发送。在这种情况下,无法保证服务器已收到记录,重试配置将不会生效(因为客户端通常不知道任何故障)。为每条记录返回的偏移量将始终设置为-1acks=0
(默认值)这意味着领导者将把记录写入其本地日志,但将在不等待所有追随者完全确认的情况下做出响应。在这种情况下,如果领导者在确认记录后立即失败,但在追随者复制记录之前,记录将丢失acks=1
这意味着领导者将等待全套同步副本确认记录。这保证了只要至少有一个同步副本保持活动状态,记录就不会丢失。这是最有力的保证acks=all
commit
。在API中,commit()
是使用者
上的一个函数。据我所知,提交与消费者是否将某封邮件/偏移标记为“已处理”有关。啊,我明白了,谢谢。那么“卡夫卡中‘提交’是什么意思”的答案应该是“不是OP的意思”;)。