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

我在评估Google Pub/Sub vs Kafka。有什么不同?[关闭]

单昊穹
2023-03-14

我没有在Kafka工作太多,但想在GCE中建立数据管道。所以我们想知道Kafka对酒吧/潜艇。基本上,我想知道在Kafka和pub/sub中是如何保持消息一致性、消息可用性和消息可靠性的

谢谢

共有1个答案

邓鸿雪
2023-03-14

除了Google Pub/Sub由Google管理和Kafka开源之外,另一个区别是Google Pub/Sub是一个消息队列(例如Rabbit MQ),而Kafka更像是一个流日志。您不能用PubSub“重读”或“重播”消息。(编辑--从2019年2月开始,您可以重播消息,并根据下面的评论向后查找某个时间戳)

在Google Pub/Sub中,一旦一条消息从订阅中读取并被删除,它就消失了。为了有更多的消息副本供不同的读者阅读,您可以通过为该主题创建“订阅”来“扇出”该主题,其中每个订阅都将拥有进入该主题的所有内容的整个副本。但这也增加了成本,因为谷歌按读取的数据量对酒吧/网站的使用量收费。

使用Kafka,您设置了一个保留期(我认为默认为7天),无论有多少消费者阅读,消息都将保留在Kafka中。您可以添加一个新的消费者(又名订阅者),并让它在任何时候从主题的前面开始消费。您还可以将保留期设置为无限,然后基本上可以使用Kafka作为不可变的数据存储,如下所述:http://stackoverflow.com/a/22597637/304262

 类似资料:
  • 我理解经典例子的问题 但我无法说服自己以下是有效的还是无效的 我知道'foo(i)'和'i'的求值顺序是不确定的,但是'评估'到底是什么意思?也就是说bar的第二个参数总是42,或者'i'的当前值可以在foo改变它之前被传入吗?

  • 即使我的流不是空的,回退流总是会被创建?这样做背后的意图是什么?这是极不地道的。

  • 问题内容: : 1 < 2 < 3 true : 3 > 2 > 1 false … … : 3 > 2 && 2 > 1 true 也许我真的在考虑问题,但是我认为它们都会评估为真。为什么不呢? 问题答案: 因为评估为小于, 但评估为不大于

  • 我正在使用ansible 2.3.1.1和Jenkins。我遇到了以下问题--我的剧本使用aws动态库存中的变量变得非常慢。最有趣的情况是,如果我在jenkins工作区之外复制这个playbook,并在任何其他目录中运行,执行速度都是可以的。为了测试它,我从工作区目录/group_vars/all中删除了所有的变量文件-之后,这个剧本在工作区中的执行速度也可以了。因此,据我所知,ansible计算

  • 问题内容: 一次又一次,我看到Bash在Stack Overflow上使用了答案,而答案被猛烈抨击了,旨在使用这种“邪恶的”构造。为什么这么邪恶? 如果不能安全使用,我应该怎么用呢? 问题答案: 这个问题比眼前的问题还重要。我们将从显而易见的内容开始:具有执行“脏”数据的潜力。脏数据是指尚未重写为XYZ的任何数据;在我们的例子中,它是未格式化的任何字符串,以确保评估安全。 乍看之下,对数据进行消毒

  • 问题内容: 对于我确定的人来说,这是一个简单的答案。有人可以解释为什么此表达式的值为真吗? 问题答案: 因为您使用的是==(相似性)运算符,而PHP将字符串强制为int。 要解决此问题,请使用===(等于)运算符,该运算符不仅会检查值是否相同,还会检查数据类型是否相同,因此“ 123”字符串和123 int不会被视为相等。