分布式系統的監控和可維護性

來源:互聯網
上載者:User

當一個100萬行以上代碼的分布式系統或者複雜的生產系統部署上去後,監控和維護便會成為很大的問題,

如WangWang/QQ 這樣的大型IM系統,或者 Alimail這樣的郵件系統,以及taobao.com這樣的網站。

當生產系統中的進程以百為單位時,沒有很好的監控和維護系統,PE人員的維護將成為災難。如一次大的升級或者

機房搬遷非常容易出問題。

 

為瞭解決該問題,需要系統的架構師在設計系統的開始就需要考慮維護和升級問題。解決的辦法為

系統內建監控管理自檢系統。

如該分布式系統是C++寫的自訂協議的分布式程式,則系統中的每個進程都必須從一個架構繼承過來,而該架構擁有

內建進程識別資訊(進程的Size,SVN版本,以及API的調用次數和Costtime)上報給監控中心,並且定義好每個角色的

Instance數目。這樣當生產環境中某個進程的版本不符合時就會馬上警示,避免生產環境中部署了錯誤版本的進程。

另外由於有Instance數目的監控,這樣當進行大規模升級或者機房搬遷時不會由於某個進程忘了部署而導致業務出問題。

 

另外監控系統自身還帶有API 呼叫關係圖,實現的方法如在RPC Call的Message頭中加入Caller的資訊,以及在Message的Response中

加入Responder的資訊,並把Call資訊採樣上報給監控中心後就可以自動根據Message流動畫出API 流程圖。

這樣也就很容易知道某個API有哪些APP在調用,以及依懶哪些APP了。

 

另外由於每個API都有最大/最小/平均回應時間上報給監控中心,這樣就可以根據回應時間來自動推測系統的健康情況,以及是否有異常。

如某個API的次數突然過高,或者過低,則監控中心就可以發送Alarm給相關的維護人員PE. 而PE收到警示後可以根據API Call圖馬上定位問題。

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.