我的目标是将通过SNS订阅收到的数据存储在Amazon Redshift中。我已经成功地使用lambda函数存储数据,只需创建一个Redshift连接并调用一个准备好的insert语句即可。虽然lambda确实重用了连接,但我使用连接池来确保我不会丢失连接并最终花费5-10秒重新连接。
这个过程在较小规模的测试中工作得很好,而且我还没有完全使用我的lambda并发性。但是,我担心当我开始订阅更活跃的SNS (高达100条/秒)时,这种流量可能会带来问题。
虽然我知道亚马逊网络服务文档和许多在线论坛推荐firehose是因为它的可扩展性,但我的首要任务之一是降低成本,而firehose似乎非常昂贵( firehose的价格+中间s3桶的成本)。有没有人有过通过编程方式存储在Redshift/其他数据库中来绕过firehose的经验?
发布于 2021-01-13 16:14:32
既然SNS已经通过Kinesis Data Firehose订阅添加了对消息存档和分析的本机支持,您应该能够简化您的体系结构。在您的示例中,您只需将Redshift配置为Firehose交付流的目的地,然后将该流直接订阅到您的SNS主题。
https://stackoverflow.com/questions/57043464
复制相似问题