微服務

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

每個人對「微服務」一詞的定義不盡相同。對某些人來說,微服務與討論系統架構時在白板上畫出的「方塊」相對應。其他人則提到較正式的定義,描述可透過網路位址存取的端點,其功能由面向外部的 API 決定,可獨立於系統中的其他微服務進行開發、部署和操作。其他人則是根據開發平台提供的微服務概念進行理解,例如 App Engine 服務Cloud Service Mesh 服務

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

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

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

自動偵測的微服務

有些現代開發架構會提供微服務的概念。在使用這類架構的架構中,Cloud 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。監控功能會建立候選服務清單,您可以從清單中選取要視為監控服務的服務。監控功能會為您建立服務基礎架構。

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

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