zoukankan      html  css  js  c++  java
  • 每天学点SpringCloud(十四):Zipkin使用SpringCloud Stream以及Elasticsearch

    在前面的文章中,我们已经成功的使用Zipkin收集了项目的调用链日志。但是呢,由于我们收集链路信息时采用的是http请求方式收集的,而且链路信息没有进行保存,ZipkinServer一旦重启后就会所有信息都会消失了。基于性能的考虑,我们可以对它进行改造,使用SpringCloud Stream进行消息传递,使用Elasticsearch进行消息的存储。

    参考文章


    Zipkin全链路监控

    SpringCloud-Stream整合RabbitMQ

    改造ZipkinServer

    1. 增加依赖
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-autoconfigure-collector-rabbitmq</artifactId>
    <version>2.11.8</version>
    </dependency>
    <dependency>
    <groupId>io.zipkin.java</groupId>
    <artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
    <version>2.8.4</version>
    </dependency>
    2. 配置文件

    增加rabbit和es的相关配置

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    zipkin:
    collector:
    rabbitmq:
    addresses: 10.0.20.132
    port: 5672
    username: root
    password: root
    virtual-host: /unicode-pay
    queue: zipkin
    storage:
    StorageComponent: elasticsearch
    type: elasticsearch
    elasticsearch:
    hosts: 10.0.20.25:9200
    cluster: elasticsearch
    index: zipkin
    index-shards: 5
    index-replicas: 1

    至此ZipkinServer的配置就搞定了。

    3. 客户端增加依赖

    以下两个依赖任选其一就可以

    1
    2
    3
    4
    <dependency>
    <groupId>org.springframework.amqp</groupId>
    <artifactId>spring-rabbit</artifactId>
    </dependency>
    1
    2
    3
    4
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>
    4. 客户端增加mq的相关配置
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    spring:
    sleuth:
    sampler:
    probability: 1.0
    rabbitmq:
    addresses: 10.0.20.132
    port: 5672
    username: root
    password: root
    zipkin:
    rabbitmq:
    queue: zipkin

    注意要把以下配置去掉哦

    1
    2
    3
    4
    5
    spring:
    zipkin:
    base-url: http://localhost:19411
    sender:
    type: web

    现在环境已经搭建完毕了,根据你的采样频率看一看结果如何吧

    GitHub地址:https://github.com/shiyujun/spring-cloud-demo。代码所在模块:cloud-demo-zipkin-server,cloud-demo-consumer-feign-hystrix,cloud-demo-provider

    如果对您有所帮助,请记得帮忙点一个star哦

    本文出自http://zhixiang.org.cn,转载请保留。

  • 相关阅读:
    Jmeter性能测试 入门
    线程模型——什么是线程池、以及怎样正确地配置线程池
    在Spring Bean的生命周期中各方法的执行顺序
    @Autowired @Qualifier
    @Autowired还可以注入List和Map
    springcloud ribbon的 @LoadBalanced注解
    CAS实现SSO 单点登录
    Docker 概念-2
    你的JavaBean是否真的需要实现Serializable
    基于django的会议室预订系统
  • 原文地址:https://www.cnblogs.com/zhixiang-org-cn/p/10097700.html
Copyright © 2011-2022 走看看