----------------------------------------------------------------------------------------
################### spring cloud sleuth(micrometer) +zipkin 分布式链路追踪 #########################################CS:Client Sent:客户端发送请求的时间。
SR:Server Received: 服务器接受到这个请求的时间。
CR:Client Received:客户端接受到数据的时间。
SS:Server Send:服务端发送响应的时间。SR - CS = 网络传输时间(请求过去)
SS - SR = 业务处理时间
CR - CS = 远程调用耗时
CR - SS = 网络传输时间(响应过来)http: // 127.0.0.1:9411
父工程引入6个jar包 <!--micrometer-tracing-bom导入链路追踪版本中心 1 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bom</artifactId><version>${micrometer-tracing.version}</version><type>pom</type><scope>import</scope></dependency><!--micrometer-tracing指标追踪 2 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing</artifactId><version>${micrometer-tracing.version}</version></dependency><!--micrometer-tracing-bridge-brave适配zipkin的桥接包 3 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bridge-brave</artifactId><version>${micrometer-tracing.version}</version></dependency><!--micrometer-observation 4 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-observation</artifactId><version>${micrometer-observation.version}</version></dependency><!--feign-micrometer 5 --><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-micrometer</artifactId><version>${feign-micrometer.version}</version></dependency><!--zipkin-reporter-brave 6 --><dependency><groupId>io.zipkin.reporter2</groupId><artifactId>zipkin-reporter-brave</artifactId><version>${zipkin-reporter-brave.version}</version></dependency><properties><micrometer-tracing.version>1.2 .0 </micrometer-tracing.version><micrometer-observation.version>1.12 .0 </micrometer-observation.version><feign-micrometer.version>12.5 </feign-micrometer.version><zipkin-reporter-brave.version>2.17 .0 </zipkin-reporter-brave.version></properties>子工程引入5个包 <!--micrometer-tracing指标追踪 1 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing</artifactId></dependency><!--micrometer-tracing-bridge-brave适配zipkin的桥接包 2 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-tracing-bridge-brave</artifactId></dependency><!--micrometer-observation 3 --><dependency><groupId>io.micrometer</groupId><artifactId>micrometer-observation</artifactId></dependency><!--feign-micrometer 4 --><dependency><groupId>io.github.openfeign</groupId><artifactId>feign-micrometer</artifactId></dependency><!--zipkin-reporter-brave 5 --><dependency><groupId>io.zipkin.reporter2</groupId><artifactId>zipkin-reporter-brave</artifactId></dependency># ========================zipkin===================
management:zipkin:tracing:endpoint: http: // localhost:9411/api/v2/spans
tracing:sampling:probability: 1.0 #采样率默认为0.1 (0 .1就是10次只能有一次被记录下来),值越大收集越及时。@RestController
public class PayMicrometerController
{ /* ** Micrometer(Sleuth)进行链路监控的例子* @param id* @return */ @GetMapping(value = " /pay/micrometer/{id} " ) public String myMicrometer(@PathVariable(" id " ) Integer id){ return " Hello, 欢迎到来myMicrometer inputId: " +id+" \t 服务返回: " + IdUtil.simpleUUID();}
} /* ** Micrometer(Sleuth)进行链路监控的例子* @param id* @return */ @GetMapping(value = " /pay/micrometer/{id} " ) public String myMicrometer(@PathVariable(" id " ) Integer id);@RestController
@Slf4j
public class OrderMicrometerController
{@Resource private PayFeignApi payFeignApi;@GetMapping(value = " /feign/micrometer/{id} " ) public String myMicrometer(@PathVariable(" id " ) Integer id){ return payFeignApi.myMicrometer(id);}
}http: // localhost/feign/micrometer/1 ----------------------------------------------------------------------------------------