服务监控

健康检测

  1. 心跳机制 判断是否存活
  2. 接口可用率监控 判断健康状态

链路追踪

Spring Cloud Sleuth为服务之间调用提供链路追踪。通过Sleuth可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长

原理

当请求发送到分布式系统的入口端点时,只需要服务跟踪框架为该请求创建一个唯的跟踪标识,这个标识将随着服务调用在各个服务间传递,这样就可以根据这个标识得到各个服务间的调用,从而组合成一条完整的调用链

链路梳理

当端点出现异常,如何对整个调用链路进行排查。

Sleuth

链路追踪的trace与span

ZipKin

Zipkin 是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现

搭建服务端

spring boot2.x之后不推荐执行搭建服务端,而是使用编译好的版本

curl -sSL https://zipkin.io/quickstart.sh | bash -s

完成之后会得到一个jar包

java -jar zipkin.jar 

访问http://127.0.0.1:9411

批注 2019-07-25 164613

客户端添加zipkin支持

<dependency>    <groupId>org.springframework.cloud</groupId>    <artifactId>spring-cloud-starter-zipkin</artifactId></dependency>
spring.zipkin.base-url=http://localhost:9411spring.sleuth.sampler.rate=1