当前位置: 首页 > 知识库问答 >
问题:

在ApacheKafka中,复制因素应该是最多提供一次交付语义的因素吗?

公冶阳德
2023-03-14

据我所知,生产者不得重试任何发送失败,消费者必须在执行某些处理之前提交,以提供最多一次的交付语义。但复制因素是否也与交付语义相关?《KafkaReactor》样本项目中的注释如下:

复制因子为1的主题与acks=0且不重试的生产者相结合,可确保在第一次尝试时无法发送到Kafka的消息被丢弃

在ApacheKafka中,复制因素应该是最多提供一次交付语义的因素吗?

共有1个答案

常博裕
2023-03-14

我认为“最多一次”的概念主要与消费者有关,与复制因子无关。相反,从生产者的角度来看,我认为这个短语是正确的,因为生产者不等待ack,并且只存在一个副本(不可能进行故障切换)。

如果您在消费者上禁用了自动提交,并在收到消息后和处理之前调用委员会同步来获取消息(提交偏移量),那么您就是在执行最多一次传递语义学。此时,如果消费者由于某些异常而无法处理消息,则消息将丢失。嗯,它仍然存储在Kafka中,但是消费者已经超过了消息的偏移量,如果不手动重置偏移量,就无法恢复它。

 类似资料:
  • 我试图解决这个问题:https://www.hackerrank.com/contests/projecteuler/challenges/euler003/submissions/code/2977447 13195的质因数是5、7、13、29。 给定数N的最大素因子是什么? 输入格式第一行包含T,测试用例数。后面是T行,每行包含一个整数N。 每个测试用例的输出格式,显示N的最大素因子。 约束条

  • 我试图找到素数的素数因子,然后将它们添加到一个数组中,该方法将返回该数组。我的方法甚至没有结果,程序只是继续运行。有人能找出哪里出了问题吗?谢谢。 checkIfPrime方法是我之前写的一个有效的方法。它只是检查一个数字是否为素数,返回一个布尔值。我把它放在那里是为了检查minusPrime何时被划分为一个质数,而质数将不再被划分,并将其作为最后一个因子添加到数组中。

  • 我使用Java scrypt库存储密码。当我加密东西时,它会调用、和值,它的文档将这些值称为“CPU成本”、“内存成本”和“并行化成本”参数。唯一的问题是,我不知道它们的具体含义,也不知道它们有什么好的价值观;也许它们与Colin Percival最初应用程序上的-t、-m和-m开关有某种对应? 有人对此有什么建议吗?库本身列出了N=16384,r=8,p=1,但我不知道这是强是弱还是什么。

  • 问题内容: 我正在使用Java scrypt库 进行密码存储。当我加密事物时,它需要一个和值,其文档称为“ CPU成本”,“内存成本”和“并行化成本”参数。唯一的问题是,我实际上不知道它们的具体含义,或者对他们有什么好的价值。也许它们以某种方式对应于Colin Percival原始应用程序上的-t,-m和-M开关? 有人对此有任何建议吗?该库本身列出了N = 16384,r = 8和p = 1,但

  • 问题内容: 我正在使用下面的代码寻找2500的主要因子,但是我的代码当前仅显示2,因此我不确定为什么会这样。 谢谢 问题答案: 使用 erathesthenes筛子首先生成素数列表:

  • 我试图解决欧拉项目问题3,即: 13195的主要因子为5、7、13和29。数字600851475143中最大的素因子是什么? 这是我的解决方案,它适用于较小的值,但对于所需的数字却无法完成: