在本教學中,您會將整合型 node.js 應用程式部署至 Docker 容器,然後再將應用程式縮減為微型服務而無須停機。此 node.js 應用程式主控簡易留言板,其中具有使用者間彼此交流的討論串和訊息。

傳統的整合型架構難以擴展。隨著應用程式的程式碼基底擴展,使得更新與維護作業更形複雜。引進新功能、語言、架構和技術等變得極為困難,從而限制了創新想法。

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

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

應用程式架構
整合型架構

整合型架構

整個 node.js 應用程式會在容器中以單一服務運作,且每個容器皆具有與其他所有容器相同的功能。若其中一個應用程式功能遭遇需求峰值,則必須擴展整個架構。

 
微型服務架構

微型服務架構

每個 node.js 應用程式功能皆會在其專屬容器中以獨立服務的方式運作。這些服務可彼此各自獨立執行擴展和更新。

AWS 體驗:中級

完成時間:2 小時

完成費用:本架構中使用的每項服務,皆符合「AWS 免費方案」資格。若您超出「免費方案」的使用限制,僅需支付不到 0.25 USD* 的費用即可完成本教學。

使用的技術:為了完成本教學,您會使用:

*此估算值係假設您在整個教學過程中皆遵循建議的組態,並在 24 小時內終止所有資源。

** 過去 24 小時內已建立的帳戶,但該帳戶無法存取完成此學習路徑所需的所有資源。