gpt4 book ai didi

amazon-web-services - Kafka喜欢在Kinesis Stream上抵消吗?

转载 作者:行者123 更新时间:2023-12-04 17:26:07 25 4
gpt4 key购买 nike

过去我曾与Kafka一起工作过,最近需要将部分数据管道移植到AWS Kinesis Stream上。现在我已经知道,Kinesis实际上是Kafka的一个分支,并具有许多相似之处。

但是,我没有看到如何让多个使用者从同一个流中读取数据,每个使用者都有其对应的偏移量。每个数据记录都有一个序列号,但是我找不到特定于消费者的任何东西(Kafka组ID?)。

真的有可能在同一AWS Kinesis Stream上让不同的消费者使用不同的摄取率吗?

最佳答案

是。

您可以具有多个Kinesis Consumer应用程序。假设您有2个。


第一个消费者应用程序(我认为这是Kafka中的“消费者组”吗?)可以是“ first-app”,并将其位置存储在DynamoDB“ first-app-table”中。它可以具有任意数量的节点(ec2实例)。
第二个使用者应用程序也可以在同一流上工作,并将其位置存储在另一个DynamoDB表中,例如“ second-app-table”。


每个表将包含“对于应用Y,在分片X上最后处理的位置是什么”信息。因此,这两个应用程序将相同分片的检查点存储在不同的位置,这使它们独立。

关于摄取率,使用KCL的消费者应用程序中有一个“ idleTimeBetweenReadsInMillis”值,这是Amazon Kinesis API进行Get操作的轮询间隔。例如,第一个应用程序可以具有“ 2000”轮询间隔,因此它将每2秒轮询一次流的分片,以查看是否有新记录。

我不太了解卡夫卡,但据我所知;在Kinesis中,Kafka“分区”是“碎片”,在Kinesis中,Kafka“偏移”也是“ sequence number”。 Kinesis消费者库对存储的序列使用术语“ checkpoint”。就像您说的那样,概念是相似的。

关于amazon-web-services - Kafka喜欢在Kinesis Stream上抵消吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42825530/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com