aws-lambda - 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 主题。
推荐阅读
- javascript - Plyr Speed 从上方打开 - 希望它从下方打开
- java - 如何从包含嵌套/复杂对象的 Map 创建 DOM 元素列表
- javascript - NextJS Link 没有呈现锚标记
- javascript - jsconfig.json 为托管源和测试文件设置?
- .net-core - 动态加载 netstandard 实现程序集
- r - 如何在闪亮中使用反应函数时检索复选框组的列名
- python - 我从 python 开始,一直遇到缩进问题
- transaction-log - 缩小ldf文件以减小文件大小
- virtual-machine - VM 是否模拟线程执行的处理器级别?
- reactjs - 如何对具有来自自定义钩子的状态和方法的表单进行单元测试