0

我們目前正在運行一個Java後端,我們希望從後端切換到無節點的AWS Lambda &上運行的節點。如何使用AWS Lambda和SOA構建複雜的應用程序?

理想情況下,在這個過程中,我們要建立一個完全服務的定向建築。

我的問題是,如果我們的前端角度應用程序請求當前用戶的訂購商品獲取該信息,它需要擊中三項服務,即用戶服務,訂單服務和商品服務。

這是否意味着我們需要向這些服務提出三個獲取請求?目前,我們將爲該特定請求構建一個端點,然後利用數據庫連接實現最佳性能。

我明白SOA的好處,但是如何在執行更具競爭力的請求時進行擴展?有什麼好的資源我可以看看?

+1

我認爲這只是一個建築問題。您仍然可以爲該特定請求構建一個端點,以便在RDS中執行相同的連接並返回相同的結果。你可以使用例如API GW集成認證與您的用戶服務。如果由於某種原因想要從訂單服​​務的項目服務中分離出用戶服務,那麼是的,您需要在它們之間進行通信。 – grepe

+1

問題範圍太廣泛。 – mootmoot

回答

0

看着你的問題,我會建議首先調整你的優先級:爲什麼你想要離開現在運行的Java後端?你想克服哪些問題?

您在您的問題中將微服務架構和無服務器基礎架構的概念相結合。兩者都可以結合使用,但他們不需要。許多公司正在使用微服務,甚至像Uber這樣的大企業(在NodeJS上),但像Lambda這樣的無服務器基礎架構真的剛剛起步。我建議你閱讀微服務,特別是here是一些不錯的文章。您還可以找到有關性能和連接問題的答案。

當考慮基於Lambda的體系結構時,請考慮在Lambda函數中沒有任何可能的狀態。這是我們通常談論的更進一步的無狀態服務;他們通常針對不存在的「客戶狀態」。但是Lambda函數不能有任何狀態,例如一個持久的DB連接池是不可能的。對於所有缺點,還有很多你不必處理的東西,這可能是非常有益的,尤其是在可伸縮性方面。

相關問題