我读到每个 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/