3.14:全链路跟踪

2020-06-27  本文已影响0人  今年花开正美

本文将从以下三个方面阐述全链路跟踪设计与实践

为什么要做全链路跟踪

在微服务架构下,经常出现以下问题:
1.某个服务出了故障,如何快速定位问题?
2.应用程序出了瓶颈,如何快速确定瓶颈在哪里?
3.后台服务响应延迟高,如何确认哪些服务导致的?
4.服务发布后,如何确认是否一切正常?

基于日志的分布式请求跟踪系统,对业务侵入低;同时将系统分散的日志聚合,进行海量日志分析,从而生成有价值的数据。

怎么做全链路跟踪

核心技术

架构设计

根据上述方案,我们先看下完整的设计图吧。

全链路跟踪.png

设计说明

1.埋点和日志生成:Java探针将本地日志通过本地socket方式发送给本机上的Trace日志收集节点Agent中。然后将多个探针的日志发送给日志收集服务集群。
2.Trace日志收集服务将数据进行简单的格式化处理后,分成三个工作流进行后续处理。

3.Dasboard页面展示,通过可视化的界面查询Redis和Elasticsearch中的数据。

ID设计

全链路跟踪-ID设计.png

开源框架选型

目前比较成熟的开源框架主要有Zipkin、PinPoint、Skywalking三种。下面就简单比较下各自的适用场景吧:

上一篇 下一篇

猜你喜欢

热点阅读