[Kinesis] 动态分片

0

【以下的问题经过翻译处理】 客户倾向将IoT摄取的数据接收到Kinesis Data Stream(之后简称KDS)。他们比起Kinesis Firehose(KF,之后简称KF),更喜欢KDS,因为KDS可以支持Lambda,但KF只支持S3和非计算消费者。他们想要摄取KDS,以便可以显示接近实时的分析仪表板。

但是KDS的一点不便之处在于我们需要预测分片的数量。IoT应用是家用电器,因此会有用量的波动。我搜索了一下,发现有一种解决方案可以像这样动态调整分片数。https://medium.com/slalom-data-analytics/amazon-kinesis-data-streams-auto-scaling-the-number-of-shards-105dc967bed5但是,我应该应用这种技术吗?我想知道是否已经有其他人完成了一些这样的工作。

峰值数据摄取约为60MB /秒。这个数字的计算方式如下。我们知道家用电器在晚上不会被很活跃使用。未来约有60K-100K台新设备将被销售。(因为已经有60K台设备被销售了)。每个设备每2秒会产生大约2KB的数据。这使得峰值约为60K * 1KB。如果我们正确完成批处理,我认为应该需要大约60个分片。

profile picture
专家
已提问 5 个月前33 查看次数
1 回答
0

【以下的回答经过翻译处理】 我不确定您是否看过这些关于Kinesis自动缩放的博客和资源,所以想把它们发送给你:

  1. 使用AWS application auto-scaling自动添加/删除KDS的分片 - https://aws.amazon.com/blogs/big-data/scaling-amazon-kinesis-data-streams-with-aws-application-auto-scaling/
  2. 背后原理 - KDS伸缩 - https://aws.amazon.com/blogs/big-data/under-the-hood-scaling-your-kinesis-data-streams/
  3. Kinesis Scaling Utility(在Github上提供) - https://github.com/awslabs/amazon-kinesis-scaling-utils

我个人没有尝试过这些方法,但看起来这些解决方案会起作用。

profile picture
专家
已回答 5 个月前

您未登录。 登录 发布回答。

一个好的回答可以清楚地解答问题和提供建设性反馈,并能促进提问者的职业发展。

回答问题的准则