链路监控的原理:理论依据是来源于2010 年google 发布的一篇论文dapper
Zipkin
优:
- 提供有 Query 接口,更强大的用户界面和系统集成能力,可以基于该接口二次开发实现
- 社区是Apache,运营更好,更活跃,支持的语言更丰富
缺:
- 侧重收集器和存储服务,虽然也有用户界面,但其功能与 SKYWalking不可同日而语
- Zipkin 的 Java 接口实现 Brave,只提供了基本的操作 API,如果需要与框架或者项目集成的话,就需要手动添加配置文件或增加代码。版本Maven依赖复杂,会出现冲突导致功能不可用问题
SKYWalking
优:
- 是一个完整的性能监控解决方案:有从探针、收集器、存储到 Web 界面等全套体系
- 基于Java Agent探针技术,通过字节码注入的方式实现调用拦截和数据收集,可以做到真正的代码无侵入,只需要在启动服务器的时候添加一些参数,就可以完成探针的部署
- 已经纳入Apache 开源项目,并且是中国的开源项目,文档更丰富,更方便理解;
缺:
- 自我定制不方便
- 语言相对集中在Java语言
总结:
从公司的定位场景上说,短期目标SKYWalking具有优势:无需对项目代码进行任何改动就可以部署探针、追踪数据细粒化到方法调用级别、功能强大的用户界面以及几乎比较全面的 Java 框架支持。但是长远来看,学习 SKYWalking的开发接口,以及未来为不同的框架实现接口的成本都还是个未知数。对应Zipkin就是可以支持后续自己扩展做一些定制监控,自主开发业务性更灵活些。
来源:oschina
链接:https://my.oschina.net/frankwu/blog/4900585