我正在使用无服务器架构在AWS中构建Web应用程序。
该应用程序的目的是公开一个公共API来上传来自世界各地的文件。
我使用AWS API-Gateway和Lambda来执行我的代码和S3作为存储。
我知道使用Java Spring框架编写我在Lambda函数中部署的代码非常有可能并得到很好的支持(即使是像无服务器框架这样的第三方)。
但是,真的推荐吗? Spring应用程序通常需要30秒或更长时间才能完全加载,而Lambda应该立即运行。
为什么AWS甚至支持这个选项(因为这听起来是个坏主意)?
答案 0 :(得分:1)
Java是AWS Lambda支持的编程语言之一。可以使用Java运行应用程序,只需考虑预热时间(如果适合您的用例),然后使用它。如果你没有收到请求,你也可以使用SNS和你的lambda钩来保持温暖
答案 1 :(得分:0)
就个人而言,我会尽可能 AVOID 使用Java lambda的Java运行时。我知道使用java非常诱人,假设您正在考虑将现有实现迁移到微服务中。但是,与其他运行时相比,您总是会支付慢预热时间的代价。您可能也错过了Java编译器优化,因为lambda可能无法被多次调用来触发C1和C2编译。
如果您打算编写精简实现,意味着没有弹簧,休眠等等,我的偏好只是使用java for lambda。
答案 2 :(得分:0)
将Java与AWS lambdas结合使用是完全正常的,但Lambdas 功能不是应用程序!
所以你应该避免使用类似Spring的框架,因为你不需要它。
问题是你想在你的函数中实现什么?为什么你需要一个框架来执行这么少量的代码? 你的用例是什么?