zipkin分布式服务调用链跟踪系统

一般的,一个分布式服务跟踪系统,主要有三部分组成:

数据收集、数据存储和数据展示。根据系统大小不同,每一部分的结构又有一定变化。譬如,对于大规模分布式系统,数据存储可分为实时数据和全量数据两部分,实时数据用于故障排查(troubleshooting)

 

trace:是指我们从服务开始到服务执行的终点的一次完整的请求与相应。

span: 在一次完整的trace过程中,每调用一个服务都会记录调用信息与响应时间,这个就是span。

 

由此我们可以得出一个结论就是:一次trace由若干个span构成,sleuth是用于调用链追踪,通过sleuth我们可以轻易的追踪到trace经过了哪几个服务,每个服务花费的时间等,而zipkin是一个开源的追踪系统,它负责收集,存储数据并展示给用户。Zipkin提供了可插拔数据存储方式:

In-Memory

 (默认)

JDBC(MySql)

  如果采集数据量很大的话,查询速度会比较慢

Cassandra

  zipkin最初始内建的存储(扩展性好、schema灵活)

Elasticsearch

    被设计用于大规模,存储形式为json

posted @ 2018-09-20 11:54  天上云朵  Views(701)  Comments(0)    收藏  举报