amazon-web-services - Amazon kinesis 多个出版商
问题描述
我在推送记录时检查了我们是否有 2 个分片(例如 shard1 和 shard2)以及两个不同的生产者 lambda,我们可以使用分区键属性将其放入不同的分片。
我有几个问题:
- 如果多个发布者说两个 lambda 正在使用单个分片推送到 kinesis 流,它会导致任何竞争条件吗?是否有可能两个不同的来源可以推送到单个分片?
- 为每个生产者推荐不同的分片或为多个生产者推荐单个分片?
解决方案
在 Kinesis 流中使用多个分片有几个原因。
首要的是吞吐量。您可以写入(或读取)分片的数据量以及每分钟可以执行的写入操作数是有限制的。如果您的流具有更高的传入速率,则您别无选择,只能使用更多分片。
另一个用例是您指出的,基于某个参数对事件进行分区,可能是因为您想使用不同的消费者,或者可能是因为您认为某些事件的优先级高于其他事件。
拥有多个生产者并不是拥有多个分片的理由。比赛条件不会发生。请注意您的总传入吞吐量。
推荐阅读
- java - swing不会在jbuttons上显示png图标
- symfony - Symfony 4 getter setter 不是从现有数据库生成的
- mysql - MySQL 在多个 UNION 之后使用 GROUP BY
- python - pep 420 namespace_packages setup.py 中的用途
- python - 运行 pygame 脚本的问题
- excel - 将工作表上的单元格信息链接到另一个工作表
- sql-server-2008 - ColdFusion 2016 升级给出存储过程错误
- xml - 片段错误 Kotlin 中的 ListView
- python - 获取所有 Slack 用户上次活动时间戳的方法
- java - JMS。在 WildFly 12 中向 ActiveMQ 中的主题发送简单的主题消息失败