SpringCloud 第六期链路监控 Sleuth

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

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

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

springCloud F版整合了ZipkinServer

启动 Zipkin

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

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

以之前的服务提供方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 Alibaba相关内容

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容