Categories
程式開發

微服務環境如何設計用戶友好的監控系統?


隨著微服務設計廣泛應用,系統中各服務逐步趨向職責單一化,相對應單服務開發門檻逐步降低。但係統整體架構越來越複雜,高可用性逐步走到軟件設計中心位置。

在經典軟件工程理論中,高可用性主要通過三種手段實現:

1、預防:有軟件設計層面的負載保護/事務等,以及主動發現(如測試/混沌工程)等。
2、檢測: 有運營環境對服務進行監控等。
3、恢復:有(部署)冗餘服務(異常發生時切換),服務回滾等。

由於微服務的複雜性,系統正式上線前經過完備性測試變的越來越有挑戰。除了業務系統自身設計,監控系統也逐步變成系統高可用的基礎保障。監控系統的用戶大部分是技術開發或則產品經理,其中許多人本身就是系統專家,在運營中易遇挑戰,使監控系統設計有其自身獨特性。

本文以騰訊互娛AMS監控系統的演進為基礎探討如何設計一個微服務環境下用戶友好的監控系統。 (騰訊互娛AMS遊戲營銷系統承擔了騰訊遊戲大部分營銷活動,下文中監控系統主要指騰訊互娛AMS遊戲營銷系統的監控系統)
監控系統(設計)演進主要有三個方面:

1、監控方法體系(本文討論重點)
2、監控系統用戶交互(本文討論幾個相關原則)
3、監控系統的技術架構(限於篇幅,本文簡單介紹)

監控方法體系演進主要經過以下幾個重要節點:

原文鏈接:【https://www.infoq.cn/article/oYNL7NHmspacIPRiTSNO】。未經作者許可,禁止轉載。