在本教學中,您會將整合型 node.js 應用程式部署至 Docker 容器,然後再將應用程式縮減為微型服務而無須停機。node.js 應用程式會代管簡單的訊息佈告欄,其中包含使用者之間的討論串和訊息。

傳統巨型架構難以擴展。當應用程式的程式碼庫擴增時,更新和維護會變得很複雜。引進新功能、語言、架構和技術會變得非常困難,因而限制了創新和新的構想。

在微型服務架構當中,每個應用程式元件皆是以專屬服務方式運作,並透過完善定義的 API 來與其他服務通訊。微型服務係針對商業功能所建立,且每項服務皆可執行單一功能。您可使用不同的架構和程式設計語言來撰寫微型服務,並可將其獨立部署為單一服務或是服務群組。

在本教學當中,將說明如何在 Docker 容器中執行單一整合型應用程式、將同個應用程式部署為微型服務,然後再將流量切換回微型服務而無須停機。完成後,您可使用本教學以及其中的程式碼做為範本,以在 AWS 上建立和部署專屬容器化微型服務。

應用程式架構
巨型架構

巨型架構

整個 node.js 應月程式是以單一服務形式在容器中執行,而且每個容器與所有其他容器都具有相同的功能。如果某個應用程式功能發生需求激增,則必須擴展整個架構。

 
微型服務架構

微型服務架構

node.js 應用程式的每個功能會以個別服務形式在其自己的容器內執行。這些服務可以獨自擴展與更新,而與其他服務無關。

AWS 體驗:中級

完成時間:2 小時

完成費用:本架構中使用的每一種服務都符合 AWS 免費方案資格。如果超出免費方案的用量限制,則完成本教學課程的費用不到 0.25 USD*。

使用的技術:若要完成本教學課程,您將使用:

*此預估費用假設您在整個教學課程中遵循建議的組態,並在 24 小時內終止所有資源。

**過去 24 小時內建立的帳戶可能尚未有權存取完成本專案所需的所有資源。