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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CAT 3.0 开源发布,支持多语言客户端及多项性能提升

發布時間:2024/7/5 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CAT 3.0 开源发布,支持多语言客户端及多项性能提升 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

項目背景

CAT(Central Application Tracking),是美團點評基于 Java 開發的一套開源的分布式實時監控系統。美團點評基礎架構部希望在基礎存儲、高性能通信、大規模在線訪問、服務治理、實時監控、容器化及集群智能調度等領域提供業界領先的、統一的解決方案,CAT 目前在美團點評的產品定位是應用層的統一監控組件,在中間件(RPC、數據庫、緩存、MQ 等)框架中得到廣泛應用,為各業務線提供系統的性能指標、健康狀況、實時告警等服務。

本文會對 CAT 的客戶端、性能等做詳細深入的介紹,前不久我們也發過一篇 CAT 相關的文章,里面詳細介紹了 CAT 客戶端和服務端的設計思路,欲知更多細節,歡迎閱讀《深度剖析開源分布式監控CAT》

產品價值

  • 減少故障發現時間。
  • 降低故障定位成本。
  • 輔助應用程序優化。

技術優勢

  • 實時處理:信息的價值會隨時間銳減,尤其是在事故處理過程中。
  • 全量數據:全量采集指標數據,便于深度分析故障案例。
  • 高可用:故障的還原與問題定位,需要高可用監控來支撐。
  • 故障容忍:故障不影響業務正常運轉、對業務透明。
  • 高吞吐:海量監控數據的收集,需要高吞吐能力做保證。
  • 可擴展:支持分布式、跨 IDC 部署,橫向擴展的監控系統。

使用現狀

目前,CAT 已經覆蓋了美團點評的外賣、酒旅、出行、金融等核心業務線,幾乎已經接入美團點評的所有核心應用,并在生產環境中大規模地得到使用。

2016 年初至今,CAT 接入的應用增加了400%,機器數增加了 900%,每天處理的消息總量高達 3200 億,存儲消息量近 400TB,高峰期集群 QPS 達 650萬/秒。

面對流量的成倍增長,CAT 在通信、計算、存儲方面都遇到了前所未有的挑戰。整個系統架構也經歷了一系列的升級和改造,包括消息采樣聚合、消息存儲、業務多維度指標監控、統一告警等等,項目最終穩定落地。為公司未來幾年內業務流量的穩定增長,打下了堅定的基石。

經過 7 年的持續建設,CAT 也在不斷發展,我們也希望更好的回饋社區,將 CAT 提供的服務惠及更多的外部公司。我們今年將對開源版本進行較大的迭代與更新,未來也會持續把公司內部一些比較好的實踐推廣出去,歡迎大家跟我們一起共建這個開源社區。

新版特性

CAT 3.0.0 Release Notes

多語言客戶端

隨著業務的不斷發展,很多產品和應用需要使用不同的語言,CAT 多語言客戶端需求日益增多,除 Java 客戶端外,目前提供了 C/C++、Python、Node.js、Golang 客戶端,基本覆蓋了主流的開發語言。對于多語言客戶端,核心設計目標是利用 C 客戶端提供核心 API 接口作為底層基石,封裝其他語言 SDK。

目前支持的主流語言使用指南:

  • Java
  • C/C++
  • Python
  • Node.js
  • Golang

性能提升

  • 消息采樣聚合

    消息采樣聚合在客戶端應對大流量時起到了至關重要的作用,當采樣命中或者內存隊列已滿時都會經過采樣聚合上報。采樣聚合是對消息樹拆分歸類,利用本地內存做分類統計,將聚合之后的數據進行上報,減少客戶端的消息量以及降低網絡開銷。

  • 通信協議優化

    CAT 客戶端與服務端通信協議由自定義文本協議升級為自定義二進制協議,在大規模數據實時處理場景下性能提升顯著。目前服務端同時支持兩種版本的通信協議,向下兼容舊版客戶端。

    • 測試環境:CentOS 6.5,4C8G 虛擬機
    • 測試結果:新版相比舊版,序列化耗時降低約 3 倍

  • 消息文件存儲

新版消息文件存儲進行了重新設計,解決舊版本的文件存儲索引、數據文件節點過多以及隨機 IO 惡化的問題。

新版消息文件存儲為了同時兼顧讀寫性能,引入了二級索引存儲方案,對同一個應用的 IP 節點進行合并,并且保證一定的順序存儲。下圖是索引結構的最小單元,每個索引文件由若干個最小單元組成。每個單元分為 4×1024 個桶,第一個桶作為我們的一級索引 Header,存儲 IP、消息序列號與分桶的映射信息。剩余 4×1024 - 1 個桶作為二級索引,存儲消息的地址。

新版消息文件存儲文件節點數與應用數量成正比,有效減少隨機 IO,消息實時存儲的性能提升顯著。以下為美團點評內部 CAT 線上環境單機消息存儲的數據對比:

未來規劃

  • 技術棧升級

    擁抱主流技術棧,降低學習和開發成本,使用開源社區主流技術工具(Spring、Mybatis等),建設下一代開源產品。

  • 產品體驗

    對產品、交互進行全新設計,提升用戶體驗。

  • 開源社區建設

    產品官網建設、組織技術交流。

  • 更多語言 SDK

關于開源

https://github.com/dianping/cat

自2014年開源以來,Github 收獲 7700+ Star,2800+ Forks,被 100+ 公司企業使用,其中不乏攜程、陸金所、獵聘網、平安等業內知 名公司。在每年全球 QCon 大會、全球架構與運維技術峰會等都有持續的技術輸出,受到行業內認可,越來越多的企業伙伴加入了 CAT 的開 源建設工作,為 CAT 的成?貢獻了巨大的力量。

美團點評基礎架構部負責人黃斌強表示,在過去四年中,美團點評在架構中間件領域有比較多的積累沉淀,很多系統服務都經歷過大規模線上業務實際運營的檢驗。我們在使用業界較多開源產品的同時,也希望能把積累的技術開源出去,一方面是回饋社區,貢獻給整個行業生態;另一方面,讓更多感興趣的開發工程師也能參與進來,共同加速系統軟件的升級與創新。所以,像 CAT 這樣的優秀項目,我們將陸續開源輸出并長期持續運營,保證開源軟件本身的成熟度、支撐度與社區的活躍度,也歡迎大家給我們提出更多的寶貴意見和建議。

結語

這是一場沒有終點的長跑,我們整個 CAT 項目組將長期有耐心地不斷前行。愿同行的朋友積極參與我們,關注我們,共同打造一款企業級高可用、高可靠的分布式監控中間件產品,共同描繪 CAT 的新未來!

這次開源僅僅是一個新的起點,如果你對 CAT 新版本有一些看法以及建議,歡迎聯系我們:cat@dianping.com or Github issues

招聘信息

美團點評基礎架構團隊誠招 Java 高級、資深技術專家,Base北京、上海。我們是集團致力于研發公司級、業界領先基礎架構組件的核心團隊,涵蓋分布式監控、服務治理、高性能通信、消息中間件、基礎存儲、容器化、集群調度等技術領域。歡迎有興趣的同學投送簡歷到 yong.you@dianping.com。

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的CAT 3.0 开源发布,支持多语言客户端及多项性能提升的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。