日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CAT概述

發(fā)布時(shí)間:2024/3/26 编程问答 66 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CAT概述 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

最近,剛換了一家公司,第一個(gè)任務(wù)就是要在CAT的基礎(chǔ)上做二次開(kāi)發(fā),老大讓先看一個(gè)星期的源碼,利用國(guó)慶假期,就好好的做一下總結(jié)。首先,這一篇博客就來(lái)聊一聊CAT到底是個(gè)什么鬼

思維導(dǎo)圖+概述

下邊是我總結(jié)的思維導(dǎo)圖,分別從what?why?how?的角度進(jìn)行說(shuō)明


what是什么:

cat是由美團(tuán)的尤勇和吳其敏主導(dǎo)設(shè)計(jì),使用java開(kāi)發(fā)打造的實(shí)時(shí)應(yīng)用監(jiān)控平臺(tái)。

why為什么:它可以幫助我們解決什么問(wèn)題?

  • 線(xiàn)上發(fā)布了服務(wù),怎么知道它一切正常,比如發(fā)布5臺(tái)服務(wù)器,如何直觀了解是否有請(qǐng)求進(jìn)來(lái),訪(fǎng)問(wèn)一切正常。
  • 當(dāng)年有一次將線(xiàn)上的庫(kù)配置到了Beta,這么低級(jí)的錯(cuò)誤,排錯(cuò)花了一個(gè)通宵,十幾個(gè)人。
  • 某個(gè)核心服務(wù)掛了,導(dǎo)致大量報(bào)錯(cuò),如何確定到底是哪里出了問(wèn)題。
  • SOA帶來(lái)的問(wèn)題,調(diào)用XX服務(wù)出問(wèn)題,很慢,是否可以衡量?
  • 應(yīng)用程序有性能瓶頸,如何提供一些有效工具發(fā)現(xiàn)?
  • ……

Cat擁有什么樣的能力,可以解決上述問(wèn)題?

? 實(shí)時(shí)處理:信息的價(jià)值會(huì)隨時(shí)間銳減,尤其是事故處理過(guò)程中。
? 全量數(shù)據(jù):最開(kāi)始的設(shè)計(jì)目標(biāo)就是全量采集,全量的好處有很多。
? 高可用:所有應(yīng)用都倒下了,需要監(jiān)控還站著,并告訴工程師發(fā)生了什么,做到故障還原和問(wèn)題定位。
? 故障容忍:CAT本身故障不應(yīng)該影響業(yè)務(wù)正常運(yùn)轉(zhuǎn),CAT掛了,應(yīng)用不該受影響,只是監(jiān)控能力暫時(shí)減弱。
? 高吞吐:要想還原真相,需要全方位地監(jiān)控和度量,必須要有超強(qiáng)的處理吞吐能力。
? 可擴(kuò)展:支持分布式、跨IDC部署,橫向擴(kuò)展的監(jiān)控系統(tǒng)。
? 不保證可靠:允許消息丟失,這是一個(gè)很重要的trade-off,目前CAT服務(wù)端可以做到4個(gè)9的可靠性,可靠系統(tǒng)和不可靠性系統(tǒng)的設(shè)計(jì)差別非常大。

how怎么實(shí)現(xiàn):

  • 收集階段:負(fù)責(zé)業(yè)務(wù)應(yīng)用日志的埋點(diǎn)和采集。CAT目前提供多種語(yǔ)言的客戶(hù)端供業(yè)務(wù)應(yīng)用程序調(diào)用,埋點(diǎn)結(jié)果以消息樹(shù)的形式存入傳輸隊(duì)列。如果隊(duì)列滿(mǎn),則會(huì)自動(dòng)丟棄當(dāng)前消息。
  • 傳輸階段:CAT客戶(hù)端負(fù)責(zé)將客戶(hù)端消息傳輸?shù)胶蠖?#xff0c;CAT消費(fèi)機(jī)負(fù)責(zé)接收消息。傳輸前CAT客戶(hù)端會(huì)與CAT消費(fèi)機(jī)建立TCP長(zhǎng)連接,不斷地從客戶(hù)端隊(duì)列中取出消息樹(shù),序列化后寫(xiě)入網(wǎng)絡(luò);CAT消費(fèi)機(jī)則不斷地從網(wǎng)絡(luò)中取出數(shù)據(jù),反序列化后放入消費(fèi)隊(duì)列。
  • 分析階段:負(fù)責(zé)報(bào)表生成。實(shí)時(shí)消費(fèi)調(diào)度器會(huì)將消費(fèi)隊(duì)列消息取出,分發(fā)給每個(gè)消費(fèi)者內(nèi)部隊(duì)列;報(bào)表分析器只會(huì)從自己的報(bào)表隊(duì)列中取出消息樹(shù),逐個(gè)消費(fèi),更新報(bào)表模型。CAT以小時(shí)為單位形成報(bào)表,原始日志轉(zhuǎn)儲(chǔ)(raw log dump)是一個(gè)特殊的分析器,它不生產(chǎn)報(bào)表,而是將消息存入本地文件系統(tǒng)。
  • 存儲(chǔ)階段:負(fù)責(zé)報(bào)表和原始日志的存儲(chǔ),目前報(bào)表會(huì)存在MySQL中,原始日志壓縮后存在HDFS中長(zhǎng)久保存。保留時(shí)長(zhǎng)取決于存儲(chǔ)容量的大小,一般報(bào)表會(huì)保存3個(gè)月以上,原始日志保存一個(gè)月。
  • 展示階段:負(fù)責(zé)數(shù)據(jù)的可視化。作為用戶(hù)服務(wù)入口,負(fù)責(zé)報(bào)表和原始日志的輸出顯示。對(duì)于實(shí)時(shí)報(bào)表請(qǐng)求,會(huì)向各個(gè)消費(fèi)機(jī)分發(fā)請(qǐng)求,并將結(jié)果聚合后輸出HTML,在瀏覽器展示;歷史報(bào)表會(huì)直接取自數(shù)據(jù)庫(kù)。XML數(shù)據(jù)輸出是另一種內(nèi)置的數(shù)據(jù)展示方式,方便基于CAT開(kāi)放外圍工具。
  • 告警階段:可以進(jìn)行閾值配置,如果超過(guò)一定閾值會(huì)根據(jù)告警策略的配置進(jìn)行不同方式的告警(短信、微信、郵件)
  • 總結(jié)

    今天只是簡(jiǎn)單的概述一下CAT,下一篇將講解如何搭建單擊版的CAT


    參考了 江湖再見(jiàn)994 的CSDN 博客 ,全文地址請(qǐng)點(diǎn)擊:
    https://blog.csdn.net/tankun940507994/article/details/56672385?utm_source=copy

    總結(jié)

    以上是生活随笔為你收集整理的CAT概述的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。