本文將介紹微服務,並說明 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。監控功能會建立候選服務清單,您可以從清單中選取要視為監控服務的服務。監控功能會為您建立服務基礎架構。
如果沒有現有的服務類型可容納您要建立服務等級目標的應用程式,您可以定義自訂服務。
如要進一步瞭解如何找出候選服務及建立自訂服務,請參閱「定義微服務」。