sharding - 每个 kinesis 分片有多个消费者

标签 sharding consumer amazon-kinesis

我读到每个 kinesis 流可以有多个消费者应用程序。

http://docs.aws.amazon.com/kinesis/latest/dev/developing-consumers-with-kcl.html

但是,我听说每个分片只能拥有消费者。这是真的?我没有找到任何支持这一点的文档,并且无法想象如果多个消费者从同一个流中读取会怎样。当然,这并不意味着生产者需要在不同的分片中为不同的消费者重复内容。

最佳答案

派对迟到了,但答案是你可以每个 kinesis 分片有多个消费者。 KCL 实例每个分片只会启动一个进程,但假设第二个 KCL 实例具有权限,您可以让另一个 KCL 实例使用相同的流(和分片)。

但是,如 the docs 中所述,存在限制。 , 包含:

Each shard can support up to 5 transactions per second for reads, up to a maximum total data read rate of 2 MB per second.



如果您想要一个包含多个消费者的流,其中每条消息将被处理一次,您可能最好使用 Amazon Simple Queue Service 之类的东西。 .

关于sharding - 每个 kinesis 分片有多个消费者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503226/

相关文章:

MongoDB 使用带有 $lookup 聚合运算符的分片

amazon-web-services - 本地代理背后的 KAFKA 消费者设置。生产者在 AWS

aws-lambda - Kinesis 流/分片 - 多个消费者

c# - 使用 .NET SDK 发布到 Amazon Web Services Kinesis 时出错

mysql - 分片Mysql数据库的最佳方法

mongodb - 不可达/健康的副本集

geolocation - ElasticSearch:指定用于存储数据的分片

node.js - bramqp 和 node.js : Error on cancelling consumer (basic. 取消)

apache-kafka - 在 Kafka 中强制执行唯一的消费者组 ID

java - 将数据从 Kinesis 写入 S3