分布式链路追踪系统

1、微服务下的链路追踪讲解和它的重要性

一个服务进来后,可能会调用N多个服务,导致整个时间很慢,但是又不知道到底是哪个服务导致的变慢,这个时候就会有框架来记录每个服务的调用的时间,这个框架就是ZipKin(twitter的技术),可以追踪服务里的整个调用链路;

2、SpringCloud的链路追踪组件Sleuth

Sleuth最主要的功能是做日志埋点,记录调用时间的日志;
在product提供服务与order下单服务的项目都要加入依赖

 <dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-boot-starter-sleuth</artifactId>
 </dependency>

调用接口劶会多出一部分日志:

2019-04-08 21:43:35.255  INFO [order-service,3c5a689300b283a5,5268ead2e429455b,false] 2284 --- [oduct-service-1] c.n.u.concurrent.ShutdownEnabledTimer    : Shutdown hook installed for: NFLoadBalancer-PingTimer-product-service
2019-04-08 21:43:35.256  INFO [order-service,3c5a689300b283a5,5268ead2e429455b,false] 2284 --- [oduct-service-1] c.netflix.loadbalancer.BaseLoadBalancer  : Client: product-service instantiated a LoadBalancer: DynamicServerListLoadBalancer:{NFLoadBalancer:name=product-service,current list of Servers=[],Load balancer stats=Zone stats: {},Server stats: []}ServerList:null
2019-04-08 21:43:35.264  INFO [order-service,3c5a689300b283a5,5268ead2e429455b,false] 2284 --- [oduct-service-1] c.n.l.DynamicServerListLoadBalancer      : Using serverListUpdater PollingServerListUpdater
2019-04-08 21:43:35.294  INFO [order-service,3c5a689300b283a5,5268ead2e429455b,false] 2284 --- [oduct-service-1] c.n.l.DynamicServerListLoadBalancer  

日志说明:

[order-service,3c5a689300b283a5,5268ead2e429455b,false]


一个请求里,每个服务的Trace ID都一样,每个服务的Span Id都不一样

3、可视化链路追踪系统ZipKin的部署

ZipKin官网
1、简介:
在这里插入图片描述
2、使用
在docker控制台输入如下命令后会自动下载:

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

在这里插入图片描述
查看web页面:
在这里插入图片描述

4、ZipKin+Sleuth链路追踪实战

1、原理介绍
在这里插入图片描述
数据默认存在内存,也可以手动改为存mysql里或其他存储里;
2、添加依赖

<!--zipkin+sleuth,下边的依赖包含了sleuth,所以可以将之前的sleuth的依赖注释掉了-->
<dependency>
     <groupId>org.springframework.cloud</groupId>
     <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

在这里插入图片描述
3、在orderService配置文件里配置zipkin服务地址
在这里插入图片描述
4、访问web页面
在这里插入图片描述
此时调用下单接口后,在web页面看到如下数据:
在这里插入图片描述
5、配置采样百分比
在这里插入图片描述
1表明全部服务信息都进行采集,开发环境可以设置为1,生产环境用默认即可;
6、可以看到每个服务的耗时时间
在这里插入图片描述
微服务核心知识分布

发布了46 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_33417321/article/details/89075006