【问题标题】:Amazon kinesis multiple publishersAmazon kinesis 多个出版商
【发布时间】:2018-11-26 00:52:04
【问题描述】:
我在推送记录时检查了我们是否有 2 个分片(即 shard1 和 shard2)以及两个不同的生产者 lambda,我们可以使用分区键属性将其放入不同的分片。
我有几个问题:
- 如果多个发布者说两个 lambda 正在使用单个分片推送到 kinesis 流,这会导致任何竞争条件吗?是否有可能两个不同的来源可以推送到单个分片?
- 建议为每个生产者使用不同的分片或为多个生产者推荐单个分片?
【问题讨论】:
标签:
amazon-web-services
amazon-kinesis
【解决方案1】:
在 Kinesis 流中使用多个分片有几个原因。
主要是吞吐量。您可以向分片写入(或读取)多少数据以及每分钟可以执行多少次写入操作是有限制的。如果您的流具有更高的传入速率,您别无选择,只能使用更多分片。
另一个用例是您指出的,基于某个参数对事件进行分区,可能是因为您想使用不同的消费者,或者可能是因为您认为某些事件的优先级高于其他事件。
拥有多个生产者并不是拥有多个分片的理由。比赛条件不会发生。请注意您的总传入吞吐量。