架構設計(七):日誌、監控和自動化
作者:Grey
原文地址:
針對小型網站,日誌、監控和自動化支持是很好的做法,但不是必須的。然而,如果網站已經發展到爲大型企業服務,日誌、監控和自動化工具是必不可少的。
日誌有助於識別系統中的錯誤和問題。關於日誌,有兩種處理方式
方式一,在每個單獨服務器層面上記錄日誌;
方式二,使用工具將它們彙總到一個集中的服務中,以便於搜索和查看。
監控並收集不同類型的指標有助於瞭解系統的健康狀況,一些監控的指標如下
主機級指標,例如:CPU、內存、磁盤I/O,等等。
彙總級指標:例如,整個數據庫層、緩存層等的性能。
關鍵業務指標:日活躍用戶、保留率、收入等。
當一個系統變得龐大而複雜時,需要建立或利用自動化工具來提高生產力,關於自動化,使用持續集成是一個最佳實踐之一,在持續集成中,每一個代碼檢入都通過自動化來驗證,使團隊能夠及早發現問題。此外,將你的構建、測試、部署過程等自動化,可以顯著提高開發人員的生產力。
結合架構設計(六):引入消息隊列,整個架構可以做到
-
消息隊列使系統更加鬆散地耦合和具有故障恢復能力。
-
包括了日誌、監控和自動化工具,對系統問題發現,問題處理,以及代碼質量的提升提供了有力的保障