常用的链路追踪工具有:Zipkin、Pinpoint、SkyWalking、Jaeger等,下面重点对比@mikechen
如下列表简要对比了下当前在各大企业中,所采用链路追踪系统的特性对比情况:
参数 / 工具 | Zipkin | Pinpoint | SkyWalking | Elastic APM | Jaeger |
---|---|---|---|---|---|
开源项目 | 是 | 是 | 是 | 是 | 是 |
开发公司/组织 | NAVER | Apache | Elastic | Uber | |
主要用途 | 分布式跟踪 | 分布式监控 | 性能监控 | 应用性能监控 | 分布式追踪 |
支持语言 | 多种 | Java | 多种 | 多种 | 多种 |
集成程度 | 基本 | 高 | 高 | 高 | 高 |
数据存储 | 多种后端存储 | HBase | Elasticsearch | Elasticsearch | Cassandra |
动态追踪 | 是 | 是 | 是 | 是 | 是 |
需要Agent | 是 | 是 | 是 | 是 | 是 |
可视化和分析 | 有 | 有 | 有 | 有 | 有 |
社区活跃度 | 一般 | 高 | 高 | 高 | 高 |
1.Zipkin:
开源项目:Zipkin是一个开源的分布式跟踪系统,由Twitter公司创建。
支持语言:支持多种编程语言。
数据存储:可以与多种后端存储集成,如MySQL、Cassandra等。
社区活跃:拥有活跃的开源社区支持。
2.Apache SkyWalking:
开源项目:Apache SkyWalking是一个开源的应用性能监控与分析系统。
支持多语言:支持多种编程语言,包括Java、Python、.NET等。
动态追踪:支持对微服务架构中的服务间调用进行动态追踪。
可视化:提供丰富的可视化和分析功能。
3.Elastic APM
由Elastic公司开发:Elastic APM是Elastic公司开发的一款开源的应用性能监控工具,与Elasticsearch、Kibana集成。
支持多语言:支持多种编程语言。
强大的集成:与Elastic Stack(Elasticsearch、Logstash、Kibana)集成,提供全面的监控、分析和日志功能。
4.Pinpoint
开源项目:Pinpoint是由NAVER公司开发的开源分布式性能监控工具,主要面向Java应用。
高度集成:Pinpoint可以与Hadoop、HBase等集成,适用于大规模系统。
有Agent:需要在应用中部署Agent。
主要用于Java应用。
5.Jaeger
开源项目:Jaeger是由Uber公司开源的分布式追踪系统。
支持多语言:支持多种编程语言。
动态追踪:支持对微服务架构中的服务间调用进行动态追踪。
可视化:提供强大的可视化和分析功能。
每个工具都有其独特的优点和功能,你可以根据项目的特点来选择最适合的分布式跟踪和监控工具。
陈睿mikechen
10年+大厂架构经验,资深技术专家,就职于阿里巴巴、淘宝、百度等一线互联网大厂。
关注「mikechen」公众号,获取更多技术干货!
后台回复【面试】即可获取《史上最全阿里Java面试题总结》,后台回复【架构】,即可获取《阿里架构师进阶专题全部合集》