CAT概述
前言
最近,刚换了一家公司,第一个任务就是要在CAT的基础上做二次开发,老大让先看一个星期的源码,利用国庆假期,就好好的做一下总结。首先,这一篇博客就来聊一聊CAT到底是个什么鬼
思维导图+概述
下边是我总结的思维导图,分别从what?why?how?的角度进行说明
what是什么:
cat是由美团的尤勇和吴其敏主导设计,使用java开发打造的实时应用监控平台。
why为什么:它可以帮助我们解决什么问题?
- 线上发布了服务,怎么知道它一切正常,比如发布5台服务器,如何直观了解是否有请求进来,访问一切正常。
- 当年有一次将线上的库配置到了Beta,这么低级的错误,排错花了一个通宵,十几个人。
- 某个核心服务挂了,导致大量报错,如何确定到底是哪里出了问题。
- SOA带来的问题,调用XX服务出问题,很慢,是否可以衡量?
- 应用程序有性能瓶颈,如何提供一些有效工具发现?
- ……
Cat拥有什么样的能力,可以解决上述问题?
• 实时处理:信息的价值会随时间锐减,尤其是事故处理过程中。
• 全量数据:最开始的设计目标就是全量采集,全量的好处有很多。
• 高可用:所有应用都倒下了,需要监控还站着,并告诉工程师发生了什么,做到故障还原和问题定位。
• 故障容忍:CAT本身故障不应该影响业务正常运转,CAT挂了,应用不该受影响,只是监控能力暂时减弱。
• 高吞吐:要想还原真相,需要全方位地监控和度量,必须要有超强的处理吞吐能力。
• 可扩展:支持分布式、跨IDC部署,横向扩展的监控系统。
• 不保证可靠:允许消息丢失,这是一个很重要的trade-off,目前CAT服务端可以做到4个9的可靠性,可靠系统和不可靠性系统的设计差别非常大。
how怎么实现:
总结
今天只是简单的概述一下CAT,下一篇将讲解如何搭建单击版的CAT
参考了 江湖再见994 的CSDN 博客 ,全文地址请点击:
https://blog.csdn.net/tankun940507994/article/details/56672385?utm_source=copy
总结
- 上一篇: OpenCV-Python实战(9)——
- 下一篇: 【PCB】版图设计