SpringCloud 第六期链路监控 Sleuth

微服务架构中,一个由客户端发起的请求在后端系统中会经历多个不同的服务节点调用来协同产生最后的请求结果,每一个前端请求都会形成一条复杂的分布式服务调用链路,链路中的任何一环出现高延时或者错误都会引起整个请求的最后失败,因此我们需要工具来监控链路间的调用。

Sleuth 的使用需要Zipkin,我们只需要下载Zipkin jar包运行即可

Zipkin下载地址 https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/

springCloud F版整合了ZipkinServer

启动 Zipkin

SpringCloud 第六期链路监控 Sleuth

访问 http://localhost:9411/zipkin/ 可以看到

SpringCloud 第六期链路监控 Sleuth

如果想要服务被链路监控,只要在配置文件中添加配置即可

以之前的服务提供方8001 8002 服务消费方82 为例

在pom中添加zipkin依赖

 <!--zipkin-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>

在配置文件中添加如下内容,spring节点下

zipkin:
base-url: http://localhost:9411 #zipkin服务启动端口
sleuth:
sampler:
probability: 1
#采样值在0-1之间,1表示全部采集

下面是81配置,8001 8002 类似

server:
  port: 81 #端口号
spring:
  application:
    name: cloud-provider-81  #服务名
  zipkin:
    base-url: http://localhost:9411 #zipkin服务启动端口
  sleuth:
    sampler:
      probability: 1
      #采样值在0-1之间,1表示全部采集
eureka:
  client:
   # 是否从Eureka抓取注册信息 单节点情况下无用 集群情况下才能配合robbion使用负载均衡
    fetch-registry: true
    # 注册如Eureka 用  true
    register-with-eureka: true
    service-url:
      # 设置与eureka server交互的地址查询和注册服务都需要这个地址 向注册中心注册
      defaultZone: http://localhost:7001/eureka/


启动 8001 8002 81 和监控中心7001

通过 81 访问几次8001 8002

http://localhost:81/consumer/myLb

访问 http://localhost:9411/zipkin/ 可以看到服务间的调用关系

SpringCloud 第六期链路监控 Sleuth

下期开始介绍springCloud Alibaba相关内容

上一篇:C++设计模式——享元模式


下一篇:The embedded engineering website that‘s got your back.