我们目前正在运行一个Java后端,我们希望将其转移到AWS Lambda&无服务器。
理想情况下,在此过程中,我们希望构建一个完全以服务为导向的架构。
我的问题是,如果我们的前端角度应用程序请求当前用户的订购商品获取它需要打三个服务,用户服务,订单服务和商品服务所需的信息。
这是否意味着我们需要向这些服务提出三个请求?目前,我们将为该特定请求构建一个端点,然后可以利用数据库连接来获得最佳性能。
我理解SOA的好处,但是如何在执行更多这样的compex请求时进行扩展?我有什么好的资源可以看看吗?
答案 0 :(得分:0)
看看你的问题,我建议你首先调整你的优先级:你为什么要离开你现在运行的Java后端?你想克服哪些问题?
您正在将微服务架构与无服务器基础架构的概念结合起来。两者都可以结合使用,但它们没有必要。许多公司正在使用微服务,甚至像Uber这样的大型企业(在NodeJS上),但像Lambda这样的无服务器基础架构才刚刚起步。我建议你阅读微服务,特别是here是一些不错的文章。您还可以找到有关性能和连接的问题的答案。
在考虑基于Lambda的架构时,做认为Lambda函数中没有任何状态。这比我们通常谈论的无国籍服务更进一步;他们通常以不再存在的“客户状态”为目标。但Lambda函数不能具有任何状态,例如持久的DB连接池是不可能的。对于所有的缺点,还有很多你不需要处理的东西,这些东西可能非常有用,特别是在可扩展性方面。