微服務

本文將介紹微服務,並說明 Cloud Monitoring 支援的微服務類型。

「微服務」一詞對不同的人來說有不同的意義。對某些人來說,微服務對應於討論系統架構時在白板上繪製的「方塊」。其他則是指更正式的定義,說明可透過網路存取的端點,其功能由面向外部的 API 決定,可獨立於系統中的其他微服務開發、部署及運作。其他開發人員則根據開發平台提供的微服務概念,例如 App Engine 服務Cloud Service Mesh 服務,瞭解微服務。

我們的目標並非要強迫您接受微服務的定義,我們希望在您進行數位轉型時,提供以服務為導向的監控工具,協助您大規模監控系統,支援您和您的架構。我們希望與您合作,採用監控系統的最佳做法,且不必變更任何程式碼。

為協助您監控微服務,Cloud Monitoring 會執行下列操作:

  • 盡可能自動偵測微服務
  • 提供導覽式體驗,協助定義以 Google Kubernetes Engine 和 Cloud Run 為基礎的微服務
  • 提供完全自訂的解決方案,可享有最大彈性

自動探索的微服務

部分現代開發架構提供微服務的意見概念。在採用這類架構的環境中,Cloud Monitoring 會自動偵測服務的部署、更新或刪除作業。Monitoring 會持續分析專案產生的中繼資料串流,藉此完成偵測。

Cloud Monitoring 可以自動偵測使用下列開發架構建構的微服務:

  • App Engine:App Engine 具有微服務的強烈概念,稱為 App Engine 服務 (先前稱為「模組」)。每項服務都有專屬的 app.yaml 設定檔。

  • Cloud Service Mesh:Cloud Monitoring 支援在單一 GKE 叢集上建構的服務網格。在此設定中,Cloud Service Mesh 服務會直接對應至 GKE 服務。系統會自動偵測所有 Cloud Service Mesh 服務,包括使用者管理和系統管理服務。

自動探索微服務的資訊主頁

系統會為所有自動探索到的微服務自動建立服務資訊主頁。這個資訊主頁包含服務的中繼資料詳細資訊、快訊時間軸、服務等級目標 (SLO) 狀態,以及與服務相關的記錄。如要進一步瞭解這些元件,請參閱「使用微服務資訊主頁」。

自動探索微服務的服務資訊主頁。

GKE、Cloud Run 和自訂服務

Cloud Monitoring 可識別下列類型的潛在候選服務:

  • GKE 命名空間
  • GKE 服務
  • GKE 工作負載
  • Cloud Run 服務

不過,這類候選項目可能很多,您不一定想為所有項目建立 SLO。監控功能會建立候選服務清單,您只要從清單中選取服務,即可將這些服務視為監控服務。監控服務隨後會為您建立服務基礎架構。

如果現有服務類型不符合您要建立服務等級目標的應用程式,可以定義自訂服務。

如要進一步瞭解如何找出候選服務及建立自訂服務,請參閱「定義微服務」。