簡體   English   中英

使用 node-express 的微服務架構

[英]Microservices architecture with node-express

我計划在我的項目中使用 node-express 微服務架構,這個術語對我來說是新的。

我研究了一下,發現每個獨立的模塊都可以看作是一個具有獨立數據庫的微服務,目前,我的項目在整個模塊中都有相同的數據庫,請考慮下圖:

當前架構:

在此處輸入圖片說明

所有模塊(學生、學校、學院)共享同一個數據庫,我們總是需要一個模塊表數據到另一個模塊中。

微服務架構: 在此處輸入圖片說明

現在問題開始了,所以我們必須有單獨的數據庫,我們不能在一個數據庫中創建三個不同的虛擬數據庫嗎?

好的,如果我創建三個單獨的數據庫,那么我可以將一個微服務數據庫映射到另一個微服務以獲取和插入數據,並且與當前場景相比,執行速度仍然會得到提升(正如我讀到的那樣,使用 DB 執行單獨的毫秒會提高你的執行速度)我在哪里共享相同的數據庫並在所有模塊的表中獲取數據?

還有一個問題是,像 OLA、Netflix、Twitter 這樣的大產品,如果他們有不同的數據庫,以及他們何時想要將一個微服務數據庫映射到另一個微服務,他們將如何處理微服務?

請幫幫我。

微服務 - 也稱為微服務架構 - 是一種架構風格,它將應用程序構建為一組服務

高度可維護和可測試 松散耦合 可獨立部署 圍繞業務能力組織。 微服務架構支持大型復雜應用程序的持續交付/部署。 它還使組織能夠發展其技術堆棧。

從上面的解釋來看,基礎設施是在不同的部分創建的,這樣當整個架構的一部分需要擴展時,它可以獨立完成。我們不需要干擾其他服務。另外,如果一個服務宕機了整個應用程序不會下降。 從您的示例來看,如果您在同一個數據庫中創建一個虛擬數據庫,並且如果數據庫出現故障,整個應用程序就會停止運行。 而如果您單獨部署數據庫,如果學校數據庫出現故障,另一個數據庫也會在運行時啟動。 而且這些服務不應該使用來自其他服務的數據庫。

我認為沒有必要為所有這些模塊使用不同的數據庫,而是讓每個模塊都有自己的 REST API 與相同的數據庫進行通信。

看到這個答案: stackoverflow.com/a/45421864/7970942

我希望這有幫助! :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM