回到网易后开源 APM\Zipkin\ Pinpoint\CAT\Apache SkyWalking技术选型与实战

APM 基础篇

1、什么是 APM?

APM,全称:Application Performance Management ,目前市面的系统基本都是参考 Google 的 Dapper(大规模分布式系统的跟踪系统)来做的,翻译传送门《google 的 Dapper 中文翻译》

思考下:不遵守该理论的是伪 APM,耍流氓吗?

APM 的核心思想是什么? 在应用服务各节点相互调用的时候,从中记录并传递一个应用级别的标记,这个标记可以用来关联各个服务节点之间的关系。比如两个应用服务节点之间使用 HTTP 作为传输协议的话,那么这些标记就会被加入到 HTTP 头中。可见如何传递这些标记是与应用服务节点之间使用的通讯协议有关的,常用的协议就相对容易加入这些内容,一些按需定制的可能就相对困难些,这一点也直接决定了实现分布式追踪系统的难度。

2、为什么要用 APM?

有业务痛点,才要寻求解决方案,个人认为,APM 需要优先解决测试环境下两个场景问题,基于测试先行的原则考虑:
在这里插入图片描述
优先关注宏观数据,并不是说测试人员无须关注微观层面的问题,在测试角度来看,先解决性能测试环境的数据采样、收集问题,再去评估生产环境,而线上的链路监控需要研发跟运维去配合,【研发角度场景】相对于测试人员来说是弱关注了。

3、市面上有哪些 APM 工具?

我创建了一个群Java互联网技术交流的地方:742991985
Pinpoint

Pinpoint is an open source APM (Application Performance Management) tool for large-scale distributed systems written in Java.

https://github.com/naver/pinpoint
SkyWalking

A distributed tracing system, and APM ( Application Performance Monitoring ) .

http://skywalking.org
Zipkin

Zipkin is a distributed tracing system. It helps gather timing data needed to troubleshoot latency problems in microservice architectures. It manages both the collection and lookup of this data. Zipkin’s design is based on the Google Dapper paper.

http://zipkin.io/
CAT (大众点评)

CAT 基于 Java 开发的实时应用监控平台,包括实时应用监控,业务监控。

https://github.com/dianping/cat
4、先说结论
目前比较贴合 Google Dapper 原理设计的,Pinpoint 优于 Zipkin。

Pinpoint

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值