我正在评估 Google Pub/Sub 与 Kafka。有什么区别? [关闭]

2024-02-23

我对kafka的工作不多,但想在GCE中构建数据管道。所以我们想了解 Kafka 与 PUB/Sub。基本上我想知道Kafka和Pub/sub中如何维护消息一致性、消息可用性、消息可靠性

Thanks


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

使用 Google Pub/Sub,一旦从订阅中读出消息并得到确认,该消息就会消失。为了让不同的读者阅读更多的消息副本,您可以通过为该主题创建“订阅”来“扇出”该主题,其中每个订阅都将拥有该主题中所有内容的完整副本。但这也增加了成本,因为 Google 根据读取的数据量来收取 Pub/Sub 使用费。

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

Amazon AWS Kinesis 是 Kafka 的托管版本,而我认为 Google Pubsub 是 Rabbit MQ 的托管版本。 带有 SQS 的 Amazon SNS 也类似于 Google Pubsub(SNS 提供扇出,SQS 提供队列)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

我正在评估 Google Pub/Sub 与 Kafka。有什么区别? [关闭] 的相关文章

随机推荐