Amazon Kinesis Firehose 是否需要扩展?



我的目标是将通过 SNS 订阅接收的数据存储在 Amazon Redshift 中。我已经成功地使用 lambda 函数存储数据,只需创建 Redshift 连接并调用准备好的插入语句即可。虽然 lambda 确实重用了连接,但我使用连接池来确保我不会丢失连接并最终花费 5-10 秒重新连接。

此过程对于小规模测试非常有效,而且我并没有接近使用我所有的 lambda 并发。但是,我担心当我开始订阅更活跃的 SNS(最多 100 条记录/秒)时,此流程可能会导致问题。

虽然我知道 aws 文档和许多在线论坛推荐 firehose 是因为它具有可扩展性,但我的首要任务之一是降低成本,而 firehose 似乎非常昂贵(Firehose 的价格 + 中间 s3 存储桶的成本)。有没有人有试图通过编程方式存储在Redshift/其他数据库中来绕过Firehose的经验?

现在,SNS 已通过 Kinesis Data Firehose 订阅添加了对消息归档和分析的原生支持,您应该能够简化您的架构。在您的情况下,您只需将 Redshift 配置为 Firehose 传输流的目标,然后将此流直接订阅到您的 SNS 主题。

更多信息: https://aws.amazon.com/about-aws/whats-new/2021/01/amazon-sns-adds-support-for-message-archiving-and-analytics-via-kineses-data-firehose-subscriptions/

相关内容

最新更新