微服務設計模式 - 健康檢查



問題陳述

微服務架構將應用程式構建為一組松耦合的微服務,每個服務都可以以敏捷的方式獨立開發,以實現持續交付/部署。現在,如果資料庫宕機或無法承受更多連線,則監控系統應發出警報。負載均衡器/服務登錄檔/API 閘道器不應將任何請求重定向到此類故障的服務例項。因此,我們需要檢測正在執行的服務例項是否能夠接收請求。

解決方案

我們可以為每個服務新增一個健康檢查點,例如 HTTP /health,它返回服務健康狀態。此端點可以執行以下任務來檢查服務健康狀況:

  • 連線可用性 - 當前服務使用的資料庫連線或基礎設施服務連線的狀態。

  • 主機狀態 - 主機狀態,例如磁碟空間、CPU 使用率、記憶體使用率等。

  • 特定於應用程式的邏輯 - 確定服務可用性的業務邏輯。

現在,監控服務(例如負載均衡器、服務登錄檔)定期呼叫健康檢查端點以檢查服務例項的健康狀況。

廣告

© . All rights reserved.