首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在每个分区的副本上写入成功,那么对Kafka主题的写成功吗?

如果在每个分区的副本上写入成功,那么对Kafka主题的写成功吗?
EN

Stack Overflow用户
提问于 2020-03-06 19:10:50
回答 2查看 477关注 0票数 1

对卡夫卡主题的写入只有在每个分区的副本成功的情况下才能成功吗?或者是否有可以配置的仲裁?

假设你有

  1. 生产者
  2. Server1与Topic1 Partition1(领袖)
  3. Server2 with Topic1 Partition1(复制品)
  4. Server3 with Topic1 Partition1(复制品)

制片人写信给Topic1。这是一条规则吗?只有当从领袖和两个副本接收到一个认可信息时,信息才会被存储?或者是否可以配置法定人数:只有领导?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-03-06 19:37:05

如果我正确地理解了您的问题,那么您正在寻找名为acks的生产者API的配置。

确认数量:生产者要求领导者在考虑请求完成之前收到的确认数量。这控制了发送的记录的持久性。允许进行下列设置: 如果将acks=0设置为零,则生产者将不会等待服务器的任何确认。该记录将立即添加到套接字缓冲区并考虑发送。在这种情况下,无法保证服务器已经接收到记录,并且重试配置不会生效(因为客户端一般不会知道任何故障)。为每个记录返回的偏移量将始终设置为-1。 acks=1 --这意味着领导者将把记录写入本地日志,但不会等待所有追随者的完全确认。在这种情况下,如果领导者在承认记录后立即失败,但在追随者复制记录之前,记录就会丢失。 acks=all,这意味着领导者将等待完整的同步副本来确认记录。这保证记录不会丢失,只要至少有一个同步副本仍然活着。这是最有力的保证。这相当于ack=-1的设置。 类型: stringDefault: 1 1Valid值: all,-1,0,1 1Importance: high

有关更多详细信息,请查看文档以获得生产者API。

票数 2
EN

Stack Overflow用户

发布于 2020-03-06 22:22:35

除了acks之外,还有一个问题,即消费者何时可以看到消息--这对生产者来说是独立的,还取决于代理配置--如果所有追随者都同步地收到消息,就会发生这种情况。如果有人落后了,那就是min.insync.replicas收到消息的时候。我在https://chrisg23.blogspot.com/2020/02/kafka-acks-configuration-apology.html?m=1上写了一些关于这个的文章

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60570238

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档