亚马逊Kinesis多个发布者

3

我已经检查过在推送记录时,如果我们有2个分片,比如shard1和shard2,并且有两个不同的生产者lambda,我们可以使用分区键属性将它们放到不同的分片中。

我有几个问题:

  1. 如果多个发布者,比如两个lambda都向一个单独的分片推送kinesis流,是否会导致竞态条件?是否可能两个不同的源推送到单个分片中?
  2. 哪种方式更推荐:每个生产者使用不同的分片还是多个生产者共用一个分片?
1个回答

4

将Kinesis流分成多个片段有几个原因。

首要原因是吞吐量。对于一个片段,您可以写入(或读取)的数据量以及每分钟可以执行的写操作数量都有限制。如果您的流具有更高的输入速率,则必须使用更多的片段。

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

拥有多个生产者并不是使用多个片段的原因。竞争条件不会发生。只需注意您的总输入吞吐量即可。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接