Zipkin简介
Zipkin分布式跟踪系统。它可以帮助收集时间数据在服务架构需要解决延迟问题。功能包括数据的收集和查找。
如果你有一个跟踪ID在日志文件中,您可以直接跳转。否则,你可以查询基? demo-zipkin zipkin-1 | -SpanCollectorConfig | -application.properties | -ZipkinController | -Application1 zipkin-2 | -SpanCollectorConfig | -application.properties | -ZipkinController2 | -Application1 zipkin-3 | -SpanCollectorConfig | -application.properties | -ZipkinController3 | -Application1 zipkin-4 | -SpanCollectorConfig | -application.properties | -ZipkinController4 | -Application1 zipkin-5 | -SpanCollectorConfig | -application.properties | -ZipkinController5 | -Application1
<>强工程端口分配强>
每个模块使用不同的端口,分别启动自己的应用。
模块名称
端口
应用程序
zipkin-1
8081
Application1
zipkin-2
8082
Application2
zipkin-3
8083
Application3
zipkin-4
8084
Application4
zipkin-5
8085
Application5
引入Maven依赖
& lt; properties> & lt; zipkin.version> 3.9.0 & lt;/properties> & lt; !——Springboot相关——比; & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-test & lt; scope> test & lt;/dependency> & lt; !——zipkin相关——比; & lt; dependency> & lt; groupId> org.springframework.boot & lt; artifactId> spring-boot-starter-web & lt;/dependency> & lt; dependency> & lt; groupId> io.zipkin.brave & lt; artifactId> brave-core & lt; version> $ {zipkin.version} & lt;/version> & lt;/dependency> & lt; dependency> & lt; groupId> io.zipkin.brave & lt; artifactId> brave-spancollector-http & lt; version> $ {zipkin.version} & lt;/version> & lt;/dependency> & lt; dependency> & lt; groupId> io.zipkin.brave & lt; artifactId> brave-web-servlet-filter & lt; version> $ {zipkin.version} & lt;/version> & lt;/dependency> & lt; dependency> & lt; groupId> io.zipkin.brave & lt; artifactId> brave-apache-http-interceptors & lt; version> $ {zipkin.version} & lt;/version> & lt;/dependency> & lt; dependency> & lt; groupId> io.zipkin.brave & lt; artifactId> brave-okhttp & lt; version> $ {zipkin.version} & lt;/version> & lt;/dependency>
<>强配置文件,收集器的设置强>
配置应用程序。属性,以<代码> zipkin-1 代码>为例,其他工程中配置时将<代码> zipkin.serviceName 代码>与<代码>服务器。端口> 代码更改为<代码> myzipkin-2…代码>与<代码> 8081…代码>等即可
zipkin.serviceName=myzipkin-1 zipkin.url=http://localhost: 9411 zipkin.connectTimeout=6000 zipkin.readTimeout=6000 zipkin.flushInterval=1 zipkin.compressionEnabled=true zipkin.samplerRate=1 server.port=8081 server.servlet.context-path=/
<>强配置跨度收集器强>
设置收集器的详细参数,包含超时时间,上传跨度间隔,以及配置采集率等,进而对收集器进行初始化。
包com.anqi.zipkin.bean; 进口com.github.kristofa.brave.Brave; 进口com.github.kristofa.brave.Brave.Builder; 进口com.github.kristofa.brave.EmptySpanCollectorMetricsHandler; 进口com.github.kristofa.brave.Sampler; 进口com.github.kristofa.brave.SpanCollector; 进口com.github.kristofa.brave.http.DefaultSpanNameProvider; 进口com.github.kristofa.brave.http.HttpSpanCollector; 进口com.github.kristofa.brave.http.HttpSpanCollector.Config; 进口com.github.kristofa.brave.okhttp.BraveOkHttpRequestResponseInterceptor; 进口com.github.kristofa.brave.servlet.BraveServletFilter; 进口okhttp3.OkHttpClient; 进口org.springframework.beans.factory.annotation.Value; 进口org.springframework.context.annotation.Bean; 进口org.springframework.context.annotation.Configuration; @ configuration 公开课SpanCollectorConfig { @ value (" $ {zipkin.url} ") 私人字符串url; @ value (" $ {zipkin.serviceName} ") 私人字符串名;/* 连接超时时间 */@ value (" $ {zipkin.connectTimeout} ") 私人int connecTimeout;/* 是否启动压缩 */@ value (" $ {zipkin.compressionEnabled} ") 私人布尔compressionEnabled;/* 上传的跨度间隔时间 */@ value (" $ {zipkin.flushInterval} ") 私人int flushInterval;/* 读取超时时间 */@ value (" $ {zipkin.readTimeout} ") 私人int readTimeout; @ value (" $ {zipkin.samplerRate} ") 私人samplerRate浮动;/* * *配置跨度收集器 * @return */@ bean 公共SpanCollector SpanCollector () { 配置配置=Config.builder () .connectTimeout (connecTimeout) .compressionEnabled (compressionEnabled) .flushInterval (flushInterval) .readTimeout (readTimeout) .build (); HttpSpanCollector返回。新建(url、配置、EmptySpanCollectorMetricsHandler ()); }/* * *配置采集率 * @param spanCollector * @return */@ bean 公共勇敢勇敢(SpanCollector SpanCollector) { Builder构建器=new Builder(名); null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null null nullSpringBoot集成Zipkin实现分布式全链路监控