我最近一直在研究Spring-Cloud-Function和Spring-Cloud-AWS以及Spring模块提供的所有功能,但是,我不太清楚的一件事是,两者是否正常运行在一起。
我可以看到Spring Cloud功能,也许S3可以一起使用,但不支持AWS的无服务器数据库,DynamoDB。
将Spring Cloud Function(AWS Lambda)与RDS一起使用会有好的或不好的做法吗?事实上DynamoDB是一个非阻塞DBS更适合Lambda及其结算结构吗?
答案 0 :(得分:1)
我已在github上为AWS Lambda创建了一个示例Spring Cloud Function。它使用AWS Java SDK来请求S3对象。我还写了另一个sample与AWS SQS集成。
所以,我认为与DynamoDB集成很容易,因为DynamoDb也有Java sdk可用(虽然我以前没有亲自使用过它)
恕我直言,我认为因为AWS Lambda按执行时间收费,并且启动与RDS的连接可能也需要一些时间(同样关闭)。
除此之外,出于缩放目的,如果您的Lambda函数在短时间内以高频率触发。每个lambda函数都会尝试与RDS建立sql连接,最终可能会导致RDS开销。
我为我的项目所做的是,我在Web应用程序上公开了一个API端点,并将流量从lambda引导到端点。由于SQL连接可以在Web应用程序中重用,我想它更有效。
聚苯乙烯。我还没有使用DynamoDB。所以我不能对此发表评论。
答案 1 :(得分:0)
我想说带有Spring生态系统的Spring Cloud Function是从Lambda函数访问DynamoDB的良好基础。
有一个社区支持的Spring Data module for DynamoDB。
您可能会看看at my article,在这里我将Spring Cloud Function与Spring Data DynamoDB结合使用。