首页 > 解决方案 > Amazon kinesis 多个出版商

问题描述

我在推送记录时检查了我们是否有 2 个分片(例如 shard1 和 shard2)以及两个不同的生产者 lambda,我们可以使用分区键属性将其放入不同的分片。

我有几个问题:

  1. 如果多个发布者说两个 lambda 正在使用单个分片推送到 kinesis 流,它会导致任何竞争条件吗?是否有可能两个不同的来源可以推送到单个分片?
  2. 为每个生产者推荐不同的分片或为多个生产者推荐单个分片?

标签: amazon-web-servicesamazon-kinesis

解决方案


在 Kinesis 流中使用多个分片有几个原因。

首要的是吞吐量。您可以写入(或读取)分片的数据量以及每分钟可以执行的写入操作数是有限制的。如果您的流具有更高的传入速率,则您别无选择,只能使用更多分片。

另一个用例是您指出的,基于某个参数对事件进行分区,可能是因为您想使用不同的消费者,或者可能是因为您认为某些事件的优先级高于其他事件。

拥有多个生产者并不是拥有多个分片的理由。比赛条件不会发生。请注意您的总传入吞吐量。


推荐阅读