实时监控系统 CAT 3.0:多语言客户端及多项性能提升

h4cd
 h4cd
发布于 2018年11月02日
收藏 67

实时监控系统 CAT 3.0 发布了,此版本带来多语言客户端及多项性能提升,更新如下:

多语言客户端

随着业务的不断发展,很多产品和应用需要使用不同的语言,CAT 多语言客户端需求日益增多,除 Java 客户端外,目前提供了 C/C++、Python、Node.js、Golang 客户端,基本覆盖了主流的开发语言。对于多语言客户端,核心设计目标是利用 C 客户端提供核心 API 接口作为底层基石,封装其他语言 SDK。

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

性能提升

  • 消息采样聚合

    消息采样聚合在客户端应对大流量时起到了至关重要的作用,当采样命中或者内存队列已满时都会经过采样聚合上报。采样聚合是对消息树拆分归类,利用本地内存做分类统计,将聚合之后的数据进行上报,减少客户端的消息量以及降低网络开销。


  • 通信协议优化

    CAT 客户端与服务端通信协议由自定义文本协议升级为自定义二进制协议,在大规模数据实时处理场景下性能提升显著。目前服务端同时支持两种版本的通信协议,向下兼容旧版客户端

    • 测试环境:CentOS 6.5,4C8G 虚拟机

    • 测试结果:新版相比旧版,序列化耗时降低约 3 倍

  • 消息文件存储

        新版消息文件存储进行了重新设计,解决旧版本的文件存储索引、数据文件节点过多以及随机 IO 恶化的问题。

        新版消息文件存储为了同时兼顾读写性能,引入了二级索引存储方案,对同一个应用的 IP 节点进行合并,并且保证一定的顺序存储。下图是索引结构的最小单元,每个索引文件由若干个最小单元组成。每个单元分为 4 * 1024 个桶,第一个桶作为我们的一级索引 Header,存储 IP、消息序列号与分桶的映射信息。剩余 4 * 1024 - 1 个桶作为二级索引,存储消息的地址。

        新版消息文件存储文件节点数与应用数量成正比,有效减少随机 IO,消息实时存储的性能提升显著。以下为美团点评内部 CAT 线上环境单机消息存储的数据对比:

详情见发布公告

CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:实时监控系统 CAT 3.0:多语言客户端及多项性能提升
加载中

精彩评论

强子1985
强子1985
界面太丑太难用,界面怎么能写成这个样子。。。
许雪里
许雪里
为Cat点赞,现象级产品!

"每天处理的消息总量高达 3200 亿,存储消息量近 400TB,高峰期集群 QPS 达 650万/秒。"
德莫罗
德莫罗
CAT 是侵入式的,既然都侵入式了,为啥不用普罗米修斯

最新评论(5

你们都是技术宅
你们都是技术宅
能不能加个dotnet客户端啊
德莫罗
德莫罗
CAT 是侵入式的,既然都侵入式了,为啥不用普罗米修斯
许雪里
许雪里
为Cat点赞,现象级产品!

"每天处理的消息总量高达 3200 亿,存储消息量近 400TB,高峰期集群 QPS 达 650万/秒。"
ox48
ox48
目前序列化用的是什么?kryo还是Protobuf
强子1985
强子1985
界面太丑太难用,界面怎么能写成这个样子。。。
返回顶部
顶部