在本教學中,您會將整合型 node.js 應用程式部署至 Docker 容器,然後再將應用程式縮減為微型服務而無須停機。node.js 應用程式會代管簡單的訊息佈告欄,其中包含使用者之間的討論串和訊息。
傳統巨型架構難以擴展。當應用程式的程式碼庫擴增時,更新和維護會變得很複雜。引進新功能、語言、架構和技術會變得非常困難,因而限制了創新和新的構想。
在微型服務架構當中,每個應用程式元件皆是以專屬服務方式運作,並透過完善定義的 API 來與其他服務通訊。微型服務係針對商業功能所建立,且每項服務皆可執行單一功能。您可使用不同的架構和程式設計語言來撰寫微型服務,並可將其獨立部署為單一服務或是服務群組。
在本教學當中,將說明如何在 Docker 容器中執行單一整合型應用程式、將同個應用程式部署為微型服務,然後再將流量切換回微型服務而無須停機。完成後,您可使用本教學以及其中的程式碼做為範本,以在 AWS 上建立和部署專屬容器化微型服務。


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

微型服務架構
node.js 應用程式的每個功能會以個別服務形式在其自己的容器內執行。這些服務可以獨自擴展與更新,而與其他服務無關。
完成時間:2 小時
完成費用:本架構中使用的每一種服務都符合 AWS 免費方案資格。如果超出免費方案的用量限制,則完成本教學課程的費用不到 0.25 USD*。
使用的技術:若要完成本教學課程,您將使用:
- 作用中 AWS 帳戶**
- 文字編輯器:AWS 建議 Atom
- 瀏覽器:AWS 建議 Chrome
- Amazon EC2
- Amazon Elastic Container Service
- Amazon Elastic Container Registry
- Amazon VPC
- AWS CloudFormation
- Elastic Load Balancing
- Docker
- Github
- node.js
*此預估費用假設您在整個教學課程中遵循建議的組態,並在 24 小時內終止所有資源。
**過去 24 小時內建立的帳戶可能尚未有權存取完成本專案所需的所有資源。