链路追踪。

分布式系统中很难找到哪个接口响应慢,排查发现问题慢
如果能做出第三方系统,通过web界面就能快速找到问题—这就是链路追踪系统

技术选型

java 用 zipkin(用在springboot) 或者 skywalking
go 用 jaeger(go 语言开发的,有问题的话你能深入源码解决)

jaeger install and 架构

1、通过 docker install. 通过http://ip:port就能访问啦

架构

Application就是我们的应用,jaeger-client(各种语言) 将信息 UDP 发送到agent—>push到 jaeger-collector—>将数据放到DB里面
jaeger-query从数据库里面查询出数据来,在UI里面显示
Spark Job来计算服务间的依赖关系
链路追踪。_第1张图片

OpenTracing

就像type-c接口一样,如果链路追踪谁都可以用,就需要定义标准

Tracer 链路

比如把查询购物车的代码监控下,看下执行时间多长
下图从表单验证开始所有串起来叫一个tracer,你想跟踪一个接口,必须先创建tracer
链路追踪。_第2张图片

span 和 SpanContext

span: 什么时候发起的,什么时候结束的,时长是多少?操作名称是什么?这一次调用叫做span
在这里插入图片描述
spancontext:它的父span是谁,属于哪个tracer的,这个span的id,将完整的span信息报告给jaeger,它才能完整地展示出这条链路

你可能感兴趣的:(项目笔记,java,开发语言)