什麼是微服務架構?

微服務架構 (通常簡稱為「微服務」) 是一種應用程式開發架構類型。微服務可讓大型應用程式分解為較小的獨立元件,每個元件都有各自負責的範圍。為了服務單一的使用者要求,微服務型應用程式可呼叫許多內部微服務來建構其回應。

容器正是一個完全符合微服務架構條件的例子,如果使用容器,您就能專心開發服務,不必擔心依附元件。無伺服器運算是另一種常見做法,可讓團隊執行微服務,不必管理伺服器或基礎架構,並根據需求自動調度函式的資源。

如何使用 Google Cloud 建立微服務架構

微服務架構的定義

微服務架構是一種應用程式架構,在這種架構之下,應用程式是以一組服務的形式開發而成。這種架構能讓您獨立開發、部署及維護微服務架構圖和服務。

在微服務架構中,每項微服務都是為了容納某個應用程式功能及處理獨立工作而建構的單一服務。每個微服務都會透過簡單的介面與其他服務通訊,以解決業務問題。

單體式架構與微服務架構的比較

傳統的單體式應用程式是建構為單一統合單元。所有元件為緊耦合,共用資源和資料。這可能會導致應用程式擴充、部署和維護作業出現問題,尤其現在應用程式越來越複雜。相較之下,微服務架構會將應用程式分解為一組獨立的小型服務。每個微服務都是獨立的,各有自己的程式碼、資料和依附元件。這種做法有以下幾項潛在優勢:

  • 擴充性更高:可視個別微服務的需求,獨立調度資源。
  • 韌性更佳:如果某個微服務發生故障,不一定會影響整個應用程式。
  • 雲端成本最佳化:傳統微服務可能會導致基礎架構變得複雜,並產生隱藏成本。機構通常會採用 FinOps 方法搭配微服務,掌握雲端支出情形,確保各項服務都能有效率地擴充,且不會超出預算。

產業範例

  • 電子商務:平台使用微服務獨立管理產品目錄、購物車和訂單處理程序
  • 影視串流服務:微服務可處理影片編碼、內容傳遞和推薦引擎,同時為數百萬名使用者提供服務
  • 金融服務:金融機構使用微服務偵測詐欺和處理付款,因此能迅速因應市場變化和安全需求

微服務架構的用途有哪些?

微服務通常用於加快應用程式的開發速度。常見的微服務架構範例包括:

託管於單體式平台上的複雜網站可遷移至雲端型及容器型微服務平台。

隨著機構轉向代理雲端環境,微服務成為代理工作流程的骨幹。開發人員可將 AI 導向工作分解為獨立的服務,在安全且可擴充的架構中,建立執行特定功能的模組化代理,例如資料擷取、推論或執行。

微服務設計模式

為了管理複雜性並提升分散式系統的效能,現今的架構師會採用數種核心設計模式。

觀測能力:監控分散式系統

觀測能力對微服務來說至關重要,因為追蹤單一要求在數十個獨立服務中的流動情形非常複雜。現代團隊會結合使用指標、記錄和追蹤資料,瞭解系統健康狀態。Gemini Cloud Assist 等 AI 輔助工具可自動找出異常狀況,並為分散式應用程式提供背景資訊來進行疑難排解,進一步提升觀測能力。

冪等:確保可靠性

在分散式微服務環境中,網路故障可能會導致重試要求。冪等是核心設計原則,可確保作業即使執行多次,結果仍與第一次執行相同。這對維持付款處理、訂單管理和事件導向系統的資料一致性至關重要。

事件導向架構 (EDA)

現代架構越來越傾向使用事件進行非同步通訊。在 EDA 中,服務會將事件 (狀態變更) 發布至訊息代理程式,其他服務則訂閱這些事件。這有助於降低耦合程度,並提升故障隔離能力。

透過 Google Cloud 解決業務難題

新客戶可以獲得價值 $300 美元的免費抵免額,盡情試用各項 Google Cloud 功能。
聯絡 Google Cloud 銷售專員,深入探討公司面臨的獨特挑戰。

後續行動

運用價值 $300 美元的免費抵免額和 20 多項一律免費的產品,開始在 Google Cloud 建構產品與服務。

Google Cloud