sleuth使用说明(入门)

出发点:

  微服务架构上经过业务来划分服务的,经过REST调用,对外暴露的一个接口,可能须要不少个服务协同才能完成这个接口功能,若是链路上任何一个服务出现问题或者网络超时,都会造成致使接口调用失败。随着业务的不断扩张,服务之间互相调用会愈来愈复杂,在项目中引入sleuth能够方便程序进行调试。java

sleuth中的一些术语

  • Span:基本工做单元,例如,在一个新建的span中发送一个RPC等同于发送一个回应请求给RPC,span经过一个64位ID惟一标识,trace以另外一个64位ID表示,span还有其余数据信息,好比摘要、时间戳事件、关键值注释(tags)、span的ID、以及进度ID(一般是IP地址)
    span在不断的启动和中止,同时记录了时间信息,当你建立了一个span,你必须在将来的某个时刻中止它。
  • Trace:一系列spans组成的一个树状结构,例如,若是你正在跑一个分布式大数据工程,你可能须要建立一个trace。
  • Annotation:用来及时记录一个事件的存在,一些核心annotations用来定义一个请求的开始和结束
  • cs - Client Sent -客户端发起一个请求,这个annotion描述了这个span的开始
  • sr - Server Received -服务端得到请求并准备开始处理它,若是将其sr减去cs时间戳即可获得网络延迟
  • ss - Server Sent -注解代表请求处理的完成(当请求返回客户端),若是ss减去sr时间戳即可获得服务端须要的处理请求时间
  • cr - Client Received -代表span的结束,客户端成功接收到服务端的回复,若是cr减去cs时间戳即可获得客户端从服务端获取回复的全部所需时间

 配置sleuth

  首先建立一个ZipkinServer工程,负责收集展现调用信息,对于gradle项目,引入依赖web

dependencies {
  compile('org.springframework.boot:spring-boot-starter-web')
  runtime('io.zipkin.java:zipkin-autoconfigure-ui')
  compile('io.zipkin.java:zipkin-server')
  testCompile('org.springframework.boot:spring-boot-starter-test')
}spring

  在其程序入口类, 加上注解@EnableZipkinServer,开启ZipkinServer的功能,并在配置文件中指定服务端口网络

  对于须要sleuth进行跟踪的服务,一样须要引入依赖架构

    compile('org.springframework.cloud:spring-cloud-starter-zipkin')分布式

  而后在服务的配置文件中加入配置spring-boot

spring:  微服务

zipkin:
    base-url: http://zipkin-server:9010大数据

在rancher启动服务时将服务连接指向zipkinservergradle

 使用sleuth

  访问zipkinserver工程暴露出来的端口,便可使用图形界面查看链路追踪的状况

相关文章
相关标签/搜索