标签:调用 zipkin Zipkin jar 跟踪 链路 SpringCloudSleuth
一、什么是链路跟踪?
在微服务架构中,多个服务模块之间的调用通常呈现链式调用,链路中的任何一个调用缓解出现高延时或者错误都会引起整个请求最后的失败,因此我们需要对这些调用链进行监控和跟踪,当调用出现问题时方便进行问题排查、服务隔离切换等。Spring Cloud Sleuth提供了一套完整的服务跟踪解决方案,它兼容支持Zipkin。
Zipkin是 Twitter 的一个开源项目,基于 Google Dapper实现。可以使用它来收集各个服务器上请求链路的跟踪数据,并通过它提供的 REST API 接口来辅助我们查询跟踪数据以实现对分布式系统的监控,及时发现系统中出现的问题并找出系统性能瓶颈的根源。Zipkin的架构图如下
Transport是zipkin对外提供的接口,目前有HTTP、Kafka、Scribe三种。HTTP采用json格式,接口定义见https://github.com/openzipkin/zipkin-api,Scribe是Facebook的日志收集系统https://github.com/facebook/scribe。SpringCloud从F版起不需要自己构建Zipkin server了,只需调用jar包即可。zipkin完整的调用链路图如下
二、Zipkin安装和使用
1、安装方式比较简单,下载zipkin-server-2.12.9-exec.jar包,用java -jar zipkin-server-2.12.9-exec.jar 命令即可启动。如不能下载也可以访问https://github.com/openzipkin/zipkin下载源码安装,启动成功后控制台界面如下
接下来访问http://localhost:9411/zipkin会出现zipkin的web管理界面如下
2、配置服务模块支持zipkin
a.引入jar包
<! --包含了sleuth+zipkin--> <dependency> <groupId>org.springframework.cloud</ groupid> <artifactId>spring-cloud-starter-zipkin</artifactid> </dependency>
b.修改yml配置文件
spring: application: name: cloud-payment-service zipkin: base-ur1: http://localhost:9411 #注册到zipkin sleuth: sampler: probability: 1 #采样率值介于0到1之间,1则表示全部采集
经过以上步骤,链路跟踪搭建完成,当微服务之间产生调用后,就会在zipkin的web管理页面显示相应的信息,我们就可以根据相关信息来监控服务之间的调用和排查调用问题。
标签:调用,zipkin,Zipkin,jar,跟踪,链路,SpringCloudSleuth 来源: https://www.cnblogs.com/zqhIndex/p/15409776.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。