分布式链路组件选型~zipkin+demo(亲测有效)

1 背景:

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

接下来 我介绍一下zipkin。

2 定义:

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

3 工作原理

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

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启动类表明注解 添加依赖

 

5 zipkin客户端使用

5.1,引入pom依赖

5.2,添加配置

 

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

7,zipkin优势

7.1,部署安装简单

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

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

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

下一篇skywalking介绍 demo

PS  demo代码地址 springcloud + zipkin

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值