Amazon ec2 AWS Lambda vs EC2 REST API

Amazon ec2 AWS Lambda vs EC2 REST API,amazon-ec2,aws-lambda,aws-api-gateway,asp.net-core-webapi,Amazon Ec2,Aws Lambda,Aws Api Gateway,Asp.net Core Webapi,我不是AWS方面的专家,但有一些经验。遇到了Angular UI(EC2上的主机)必须与RDS DB实例对话的情况。到目前为止,除了API(中间件)之外,所有设置都在堆栈中。我们正在考虑使用Lambda(因为此时我们的流量未知)。在这里,我们在编程方面有很多选择,比如C#或Python或Node。(基于已经完成的一些研究和Python擅长冷启动的技能,以及C#或Python在性能方面的稳定性,我们倾向于使用C#或Python)。 因为我们当然是使用Lambda,所以我们应该走API网关的路线。所

我不是AWS方面的专家,但有一些经验。遇到了Angular UI(EC2上的主机)必须与RDS DB实例对话的情况。到目前为止,除了API(中间件)之外,所有设置都在堆栈中。我们正在考虑使用Lambda(因为此时我们的流量未知)。在这里,我们在编程方面有很多选择,比如C#或Python或Node。(基于已经完成的一些研究和Python擅长冷启动的技能,以及C#或Python在性能方面的稳定性,我们倾向于使用C#或Python)。 因为我们当然是使用Lambda,所以我们应该走API网关的路线。所有这些都设置好了,但是现在,我们应用程序的所有业务逻辑都可以驻留在Lambda中吗?如果是这样的话,它的Lambda是否会变得巨大并受到性能的影响(内存越多,计算资源越多,成本就越高?)?然后我们想到让Lambda进行轻量级处理,并将繁重的工作转移到承载EC2的.NETAPI上


我们不确定这种方法是否存在任何问题?还必须提到的是,Lambda必须为CRUD操作调用RDS,那么我应该多考虑并发性问题吗?因为它可能属于州完整类别?

AWS Lambda的优势在于可扩展性。正如你已经知道的,因为Lambda是完全管理的,所以我们可以在这个案例中利用它

如果您在EC2上托管API,那么我们就没有“伸缩”部分。当然,你可以开始使用ECS,自动缩放组。。。但它会把你带到另一条路线


您构建此应用程序是为了学习还是为了生产?

Hi Nghia-感谢您的回复。为生产计划此堆栈,因为dev将很快开始。我担心的是,将所有业务逻辑(我们的应用程序在从RDS DB提取数据后必须进行大量预测/规划计算)都内置在LAMBDA中是否理想?假设有一个峰值,并且RDS响应有点慢,或者Lambda处理逻辑运行慢,那么Lambda调用会堆积起来,或者会由于Lambda扩展而同时在不同的容器中运行?[对于每个请求,DB数据可能不同]将业务逻辑保留在Lambda中没有错。在我们的项目中,大约有30个lambda正在运行。每一个都包含一个小逻辑。并且考虑LAMBDA可以调用API(s)取决于如何定义API层。为了完成无服务器,你可以考虑如果你可以把我们的数据库变为键/值,你也可以使用DyDoDB。谢谢,NghiaDoSo我从您的回复中得到的是,完全成熟的业务逻辑肯定可以整合到Lambda函数中。这就是我不确定的地方,但谢谢你的回答。此外,似乎世界正在通过选择LAMBDA向无服务器方向发展,微服务的未来如何?我知道,他的情况下,微服务意味着大量的维护开销,但使用ECS的微服务可能会有所帮助?Lambda不会取代微服务。他们可以一起工作。我这里有一个简单的设计。假设我们正在构建一个产品,它有3个子系统a、B、C,即C是一个平台服务,可以提供a、B中使用的公共服务或实用程序。因此,a、B可以构建在多个AWS Lambda之上,这些Lambda可以调用C中构建的微服务。