規劃部署
將單一應用程式轉換成微服務架構涉及將單一應用程式容器化成停駐程式影像,然後讓任何原始程式碼儲存區域 (例如 GitHub、GitLab 或 Bitbucket) 都能使用該影像。
- 為您的單一應用程式建立容器
將應用程式的程式碼存放在原始程式碼程式庫 (例如 Bitbucket、GitHub 或 Gitlab) 之後,就會將原始程式碼下載到您的本機機器。
下載完成後,發出 Docker 命令以建立 Docker 映像檔。Docker 映像檔建立之後,請在 Oracle Cloud Infrastructure Registry (OCIR) 中建立儲存區域,並使用認證證明資料發出 Docker 推送命令,將映像檔儲存在 OCIR 中。
- 在容器中部署您的單一應用程式
建立 Oracle Cloud Infrastructure Container Engine for Kubernetes (OKE) 叢集,然後將您推送至 OCIR 的 Docker 映像檔部署至 Kubernetes 叢集。建立應用程式負載平衡器,透過連接埠 80 遞送流量及分配要求。以下架構雖然是容器化的,但仍然是單一的,因為每個容器都有所有服務。
- 打破單一應用程式
一般使用者要求、負載由負載平衡器分配,而 REST 呼叫則相應地遞送。在下圖中,我們分隔了每個服務或應用程式程序,以獨立於每個容器上執行。例如,「認證服務」會在自己的容器中執行,就像「使用者」服務和「分析」服務一樣。這些服務之間完全隔離,您可以根據目前的需求,獨立更新或修改這些服務。
- 部署微服務
在這個最終步驟中,您將部署微服務並安全地將應用程式的流量從單一應用程式執行處理中轉換。
- 啟動微服務並透過更新個別 URL 來切換內送流量。
- 調整負載平衡器,將流量遞送至更新的 URL。
- 最後,關閉單一應用程式執行處理。觀察和監督傳入的流量和要求,並確保應用程式在新環境中運作良好。