DevOps的自動化測試非常重要,這樣我們部署的變更才能有更好的質量,才能令我們更加信賴。然而,這并不是一個可以解決服務由于不明原因突然宕機的方案。由于在微服務模式中我們有更多的服務,從統計學上來說服務宕機的概率更高。
我們可以通過努力監控服務并在出狀況時采取適當的行動來部分緩解這個問題。最好是自動化的方式。
在我們的客戶數據庫例子里,可以采用以下策略:
使用兩個應用服務器同時運行應用程序。
應用程序通過JsonRest提供特定的監控接口。
監控后臺定時調用監控接口。
如果服務器停止工作,負載均衡便會重新配置以將其從服務器池中移除。
顯然這是一個簡單的例子,但它有助于描述我們面臨的挑戰,那就是設計由許多動態部分組成的彈性系統以及它們如何影響架構決策。