zipkin
下载,启动
curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
访问地址
http://localhost:9411
介绍
zipkin是一个分布式的追踪系统,按照Google Dapper进行设计,是Google Dapper的一个实现。
使用场景
分布式系统中,微服务众多,客户端调用某一个接口,响应时间过长或报错,排查问题非常不方便。
因为在微服务架构下,一个客户端的接口,调用链可能很长,并且很复杂,比如
如果接口响应时间过慢或者报错,排查问题很麻烦。
为了排查问题,至少需要2个关键点:
- 搞清楚A接口到底调用哪些微服务。
- 找到对应的微服务,查看微服务的状态,比如响应时间,是否overload或者fail等。
如果没有这两个东西,不能按图索骥,那么只能查看A接口的代码实现,找到A调用了S1,S2,S3。
但是问题,真的解决了吗?
如果发现S1又调用了S11,S111,S111....
S2调用S22,S222,S222.....
S3调用了SNNNNN.....
你会发现,你根本查不下去了!
zipkin使用
zipkin可以记录调用A接口的所有步骤(有代码侵入,且对A接口调用的依赖接口都要记录。)。
zipkin记录时间数据。
zipkin不仅能记录远程接口的调用,可以记录任何事件发生的时间,比如读取某资源的时间,图片,文件等。
建立数据库连接的时间,数据库query返回时间等等。
zipkin提供了web ui,可以进行条件查询。