1 背景:

我公司要启动一个SaaS项目架构 是springcloud 这种,我的任务是分布式链路组件选型,我在zipkin和skywalking 进行对比,

接下来 我介绍一下zipkin。

2 定义:

一个分布式链路跟踪系统,主要指记录服务的调用链路,可以采集时序数据来协助定位延迟等相关问题。数据可以存储在cassandra,MySQL,ES,mem中。分布式链路跟踪是个老话题,国内也有类似的框架,比如阿里的skywalking。 zipkin目前和SpringCloud生态结合紧密,有相关的支持。

3 工作原理

 当客户端配置服务端的 URL 地址,一旦发生服务间的调用的时候,会被配置在微服务里面的 Sleuth 的监听器监听,并生成相应的 Trace 和 Span 信息发送给服务端。发送的方式主要有两种,一种是 HTTP 报文的方式,另一种是消息总线的方式如 RabbitMQ

分布式链路组件选型~zipkin demo

zipkin包括四个组件,collector,storage,search,webUI。

(1)Collector 接收或收集各应用传输的数据

(2)Storage 存储接受或收集过来的数据,当前支持Memory,MySQL,Cassandra,ElasticSearch等,默认存储在内存中。

(3)API(Query) 负责查询Storage中存储的数据,提供简单的JSON API获取数据,主要提供给web UI使用

(4)Web 提供简单的web界面

4  zipkin安装

4.1,下载jar curl -sSL https://zipkin.io/quickstart.sh | bash -s java -jar zipkin.jar (默认启动端口是9411)

4.2,docker docker run -d -p 9411:9411 openzipkin/zipkin

4.3 ,建立springboot项目 启动服务

@EnableZipkinServer启动类表明注解 添加依赖

分布式链路组件选型~zipkin demo

 

5 zipkin客户端使用

5.1,引入pom依赖

分布式链路组件选型~zipkin demo

5.2,添加配置

分布式链路组件选型~zipkin demo

 

6,启动全部项目,打开浏览器访问:http://localhost:9411 ,出现以下界面

分布式链路组件选型~zipkin demo

7,zipkin优势

1,部署安装简单

2,目前基于springcloud sleuth得到了广泛的使用,

3,特点是轻量,使用部署简单

zipkin 只能看到调用了那些服务,服务耗时多长,没法查看服务中的方法调用了redis、网络接口等

下一篇skywalking介绍 demo

PS  demo代码地址 springcloud + zipkin

https://download.csdn.net/download/qq_34661615/12753834

分布式链路组件选型~zipkin demo

相关文章:

  • 2021-11-08
  • 2022-01-17
  • 2021-10-16
  • 2021-11-19
  • 2021-06-07
  • 2021-06-17
  • 2021-06-26
猜你喜欢
  • 2021-11-06
  • 2022-12-23
  • 2022-01-22
  • 2022-02-22
  • 2022-12-23
  • 2022-12-23
  • 2021-12-29
相关资源
相似解决方案