DevOps的自動化測試非常重要,這樣我們部署的變更才能有更好的質(zhì)量,才能令我們更加信賴。然而,這并不是一個可以解決服務(wù)由于不明原因突然宕機(jī)的方案。由于在微服務(wù)模式中我們有更多的服務(wù),從統(tǒng)計(jì)學(xué)上來說服務(wù)宕機(jī)的概率更高。
我們可以通過努力監(jiān)控服務(wù)并在出狀況時采取適當(dāng)?shù)男袆觼聿糠志徑膺@個問題。最好是自動化的方式。
在我們的客戶數(shù)據(jù)庫例子里,可以采用以下策略:
使用兩個應(yīng)用服務(wù)器同時運(yùn)行應(yīng)用程序。
應(yīng)用程序通過JsonRest提供特定的監(jiān)控接口。
監(jiān)控后臺定時調(diào)用監(jiān)控接口。
如果服務(wù)器停止工作,負(fù)載均衡便會重新配置以將其從服務(wù)器池中移除。
顯然這是一個簡單的例子,但它有助于描述我們面臨的挑戰(zhàn),那就是設(shè)計(jì)由許多動態(tài)部分組成的彈性系統(tǒng)以及它們?nèi)绾斡绊懠軜?gòu)決策。