只有一次语义,将军悖论现在解决了吗?

时间:2017-07-02 09:21:24

标签: apache-kafka

以下是我对普通悖论的看法:https://en.wikipedia.org/wiki/Two_Generals%27_Problem

这里是关于一次语义的汇合博客: https://www.confluent.io/blog/exactly-once-semantics-are-possible-heres-how-apache-kafka-does-it/?utm_content=buffer9b1b6&utm_medium=social&utm_source=twitter.com&utm_campaign=buffer 一旦语义和将军悖论,我正在努力将两个问题联系起来。两者是否相同或者它们看起来是相同但不是。

1 个答案:

答案 0 :(得分:4)

他们不一样:

  1. 两个将军问题是对称的。经纪人沟通的客户不是。
  2. 将军无法重试他们的攻击,他们只会做一次改变才能做到正确。如果第一个结果不确定,可以重试Kafka消息传递。幂等性意味着第二次尝试可以被识别为重试,如果第一次尝试已经成功则被忽略。
  3. NB。这个阅读是相关的: https://medium.com/@jaykreps/exactly-once-support-in-apache-kafka-55e1fdd0a35f

      

    (除了FLP之外,一些人也因为“数学定理”被违反而与双将军有关。我实际上不确定为什么,因为虽然我看到了传统信息系统的类比,阅读和在卡夫卡处理数据与那个问题并不十分相似。)