CAT概述
前言
最近,剛換了一家公司,第一個任務就是要在CAT的基礎上做二次開發(fā),老大讓先看一個星期的源碼,利用國慶假期,就好好的做一下總結。首先,這一篇博客就來聊一聊CAT到底是個什么鬼
思維導圖+概述
下邊是我總結的思維導圖,分別從what?why?how?的角度進行說明
what是什么:
cat是由美團的尤勇和吳其敏主導設計,使用java開發(fā)打造的實時應用監(jiān)控平臺。
why為什么:它可以幫助我們解決什么問題?
- 線上發(fā)布了服務,怎么知道它一切正常,比如發(fā)布5臺服務器,如何直觀了解是否有請求進來,訪問一切正常。
- 當年有一次將線上的庫配置到了Beta,這么低級的錯誤,排錯花了一個通宵,十幾個人。
- 某個核心服務掛了,導致大量報錯,如何確定到底是哪里出了問題。
- SOA帶來的問題,調(diào)用XX服務出問題,很慢,是否可以衡量?
- 應用程序有性能瓶頸,如何提供一些有效工具發(fā)現(xiàn)?
- ……
Cat擁有什么樣的能力,可以解決上述問題?
? 實時處理:信息的價值會隨時間銳減,尤其是事故處理過程中。
? 全量數(shù)據(jù):最開始的設計目標就是全量采集,全量的好處有很多。
? 高可用:所有應用都倒下了,需要監(jiān)控還站著,并告訴工程師發(fā)生了什么,做到故障還原和問題定位。
? 故障容忍:CAT本身故障不應該影響業(yè)務正常運轉(zhuǎn),CAT掛了,應用不該受影響,只是監(jiān)控能力暫時減弱。
? 高吞吐:要想還原真相,需要全方位地監(jiān)控和度量,必須要有超強的處理吞吐能力。
? 可擴展:支持分布式、跨IDC部署,橫向擴展的監(jiān)控系統(tǒng)。
? 不保證可靠:允許消息丟失,這是一個很重要的trade-off,目前CAT服務端可以做到4個9的可靠性,可靠系統(tǒng)和不可靠性系統(tǒng)的設計差別非常大。
how怎么實現(xiàn):
總結
今天只是簡單的概述一下CAT,下一篇將講解如何搭建單擊版的CAT
參考了 江湖再見994 的CSDN 博客 ,全文地址請點擊:
https://blog.csdn.net/tankun940507994/article/details/56672385?utm_source=copy
總結
- 上一篇: OpenCV-Python实战(9)——
- 下一篇: 【PCB】版图设计