服务监控
健康检测
- 心跳机制 判断是否存活
- 接口可用率监控 判断健康状态
链路追踪
Spring Cloud Sleuth为服务之间调用提供链路追踪。通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长
原理
当请求发送到分布式系统的入口端点时,只需要服务跟踪框架为该请求创建一个唯的跟踪标识,这个标识将随着服务调用在各个服务间传递,这样就可以根据这个标识得到各个服务间的调用,从而组合成一条完整的调用链
链路梳理
当端点出现异常,如何对整个调用链路进行排查。
- TraceID
Sleuth
ZipKin
Zipkin 是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现
搭建服务端
spring boot2.x之后不推荐执行搭建服务端,而是使用编译好的版本
curl -sSL https://zipkin.io/quickstart.sh | bash -s
完成之后会得到一个jar包
java -jar zipkin.jar
客户端添加zipkin支持
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
spring.zipkin.base-url=http://localhost:9411
spring.sleuth.sampler.rate=1