為什么要針對不同的應(yīng)用程序來提供監(jiān)控接口?這是因為監(jiān)控的目標(biāo)是讓我們?nèi)媪私猱?dāng)前系統(tǒng)的健康狀態(tài)。我們一般監(jiān)控應(yīng)用程序棧的許多方面。監(jiān)控服務(wù)器的CPU沒有過載,還有足夠的磁盤和內(nèi)存空間可用,基礎(chǔ)的應(yīng)用服務(wù)器還在運行,等等。盡管通過這些,可能還不足以斷定服務(wù)運行正常。例如,可能由于某些原因,服務(wù)的數(shù)據(jù)庫配置錯誤。一個針對服務(wù)的健康檢查接口可以嘗試連接數(shù)據(jù)庫并在結(jié)果中返回連接的狀態(tài)。
當(dāng)然,如果你所在的企業(yè)同意以通用結(jié)構(gòu)來檢查返回值,那就再好不過了。這個結(jié)構(gòu)也會因使用的監(jiān)控軟件類型而異。
總結(jié)
在本章,我們用DevOps和持續(xù)交付的視角了解了大量關(guān)于軟件架構(gòu)的話題。
我們學(xué)習(xí)了關(guān)注點分離原則帶來的許多不同方面。我們也開始在企業(yè)內(nèi)部組件Matangle客戶數(shù)據(jù)庫的部署策略上工作。
我們深入到細(xì)節(jié)里,例如如何從庫里安裝軟件以及如何管理數(shù)據(jù)庫變更。我們還見識了高層次的主題諸如經(jīng)典的三層系統(tǒng)和更加時髦的微服務(wù)概念。
下一章我們將會講述如何管理源代碼和配置源代碼版本控制系統(tǒng)。