使用spring cloud sleuth、zipkin、kafka、elasticsearch实现分布式追踪 -欧洲杯足彩官网

`
wiselyman
  • 浏览: 2076988 次
  • 性别:
  • 来自: 合肥
博主相关
  • 博客
  • 微博
  • 相册
  • 收藏
  • 博客专栏
    点睛spring4.1
    浏览量:80745
    点睛spring mvc4...
    浏览量:129940
    社区版块
    • ( 11)
    • ( 19)
    • ( 0)
    存档分类
    最新评论

    使用spring cloud sleuth、zipkin、kafka、elasticsearch实现分布式追踪

    本例使用spring cloud sleuth来实现分布式追踪,利用kafka实现异步的分布式追踪,使用elasticsearch存储追踪数据,使用zipkin查看追踪内容。

    1.前置条件

    使用docker compose安装kafkaelasticsearch

    kafka安装

    version: '2'
    services:
      zk:
        image: wurstmeister/zookeeper
        ports:
          - "2181:2181"
      kafka:
        image: wurstmeister/kafka:0.10.1.1
        ports:
          - "9092:9092"
        environment:
          kafka_advertised_host_name: kafka
          kafka_zookeeper_connect: zk:2181
        volumes:
          - /var/run/docker.sock:/var/run/docker.sock

    elasticsearch安装

    version: '2'
    services:
      elasticsearch:
        image: registry.cn-hangzhou.aliyuncs.com/wiselyman/es553:5.5.3
        restart: on-failure
        ports:
          - '9200:9200'
          - '9300:9300'
    

    registry.cn-hangzhou.aliyuncs.com/wiselyman/es553:5.5.3docker.elastic.co/elasticsearch/elasticsearch:5.5.3阿里云加速镜像

    2.搭建zipkin server

    依赖

    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-starter-sleuthartifactid>
    dependency>
    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-sleuth-zipkin-streamartifactid>
    dependency>
    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-stream-binder-kafkaartifactid>
    dependency>
    <dependency>
    	<groupid>io.zipkin.javagroupid>
    	<artifactid>zipkin-autoconfigure-uiartifactid>
    dependency>
    <dependency>
    	<groupid>io.zipkin.javagroupid>
    	<artifactid>zipkin-autoconfigure-storage-elasticsearch-httpartifactid>
    	<version>2.4.1version>
    dependency>

    3.开启zipkin支持

    @springbootapplication
    @enablezipkinstreamserver
    public class zipkinserverapplication {
    	public static void main(string[] args) {
    		springapplication.run(zipkinserverapplication.class, args);
    	}
    }

    配置kafka

    spring.cloud.stream.kafka.binder.zknodes: 192.168.1.222
    spring.cloud.stream.kafka.binder.brokers: 192.168.1.222

    配置es存储

    zipkin:
      storage:
        type: elasticsearch
        elasticsearch:
          hosts: http://192.168.1.222:9200
          username: elastic
          password: changeme
          cluster: elasticsearch
          index: zipkin
          index-shards: 1
          index-replicas: 1

    4.示例调用服务from-service

    依赖

    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-starter-sleuthartifactid>
    dependency>
    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-stream-binder-kafkaartifactid>
    dependency>
    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-sleuth-streamartifactid>
    dependency>

    配置

    spring.application.name: from-service
    server.port: 8081
    spring.sleuth.sampler.percentage: 1.0
    spring.cloud.stream.kafka.binder.zknodes: 192.168.1.222
    spring.cloud.stream.kafka.binder.brokers: 192.168.1.222
    

    调用控制器

    @restcontroller
    public class hellocontroller {
        @autowired
        resttemplate resttemplate;
        @getmapping("/sync")
        public string sync(@requestparam string param){
            return resttemplate.getforobject("http://localhost:8082/tosync?param="  param,string.class);
        }
    }

    5.示例被调用服务to-service

    依赖

    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-starter-sleuthartifactid>
    dependency>
    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-stream-binder-kafkaartifactid>
    dependency>
    <dependency>
    	<groupid>org.springframework.cloudgroupid>
    	<artifactid>spring-cloud-sleuth-streamartifactid>
    dependency>

    配置

    spring.application.name: to-service
    server.port: 8082
    spring.sleuth.sampler.percentage: 1.0
    spring.cloud.stream.kafka.binder.zknodes: 192.168.1.222
    spring.cloud.stream.kafka.binder.brokers: 192.168.1.222

    演示

    • 启动zipkin-server,访问zipkin页面http://localhost:8080/zipkin/:
    • 启动from-service,to-service,访问http://localhost:8081/sync?param=sss,这时查看zipkin页面:

    源码地址:

    0
    0
    分享到:
    评论

    相关推荐

      使用spring cloud sleuth rabbitmq zipkin实现微服务分布式链路追踪,springcloud版本使用的是greenwich.sr1

      史上最简单的springcloud教程 第九篇 服务链路追踪(spring cloud sleuth).pdf史上最简单的springcloud教程 第九篇 服务链路追踪(spring cloud sleuth).pdf史上最简单的springcloud教程 第九篇 服务链路追踪(spring ...

      史上最简单的springcloud教程 第九篇 服务链路追踪(spring cloud sleuth).docx史上最简单的springcloud教程 第九篇 服务链路追踪(spring cloud sleuth).docx史上最简单的springcloud教程 第九篇 服务链路追踪(spring...

      springcloud链路追踪-spring cloud sleuth 和 zipkin 介绍 & windows 下使用初步

      在微服务架构中,微服务之间互相调用,该实例通过spring cloud sleuth组件实现了微服务跟踪的方案

      a demo about how to use spring cloud sleuth kafka zipkin elasticsearch 模块介绍 frontend 提供rest接口,处理用户请求,然后转发给backend处理。 backend 提供rest接口,处理fontend的请求。 zipkin-...

      springcloud——分布式跟踪(sleuth)之spring cloud sleuth 主要功能就是在分布式系统中提供追踪欧洲杯足彩官网的解决方案。

      09spring cloud sleuth:分布式请求链路跟踪1

      毕业设计基于springcloud微服务分布式链路追踪系统源码 追踪实现 使用zipkin sleuth实现 这个是比较成熟的分布式链路追踪实现方案 拦截器自定义实现 基于google dapper 论文,进行自定义实现。 原理: traceid :...

      spring cloud sleuth 全链路追踪

      springcloud集成调用跟踪 springcloud sleuth kafka elasticsearch zipkin

      springcloud 2020版本教程4:使用spring cloud sleuth zipkin实现仓库追踪 spring cloud 阿里巴巴教程 spring cloud阿里巴巴教程:使用nacos作为服务注册发现组件 spring cloud阿里巴巴教程:使用nacos作为配置中心 ...

      spring cloud sleuth 全链路追踪数据表

      springcloud sleuth 分布式请求链路跟踪 springcloud alibaba入门简介 springcloud alibaba nacos 服务注册和配置中心 springcloud alibaba sentinel 实现熔断与限流 springcloud alibaba seata 处理分布式事务

      1.spring cloud sleuth.pdf1.spring cloud sleuth.pdf

      rabbitmq柔性事务方案、springcloud-gateway网关、feign远程调用、sleuth zipkin链路追踪系统、spring cache缓存、springsession跨子域session同步方案、基于elasticsearch7全文检索、异步编排与线程池、压力测试...

      spring cloud sleuth与spring boot 2功能端点的集成。 一个演示应用程序,用于显示spring boot 2 webfulx应用程序的spring cloud sleuth集成。 要运行该应用程序,请使用以下命令(为此需要java 8) ./gradlew ...

      (spring-cloud-sleuth-stream mybatis rabbit) (kafka elasticsearch zipkin)

      微服务等待时间分析 使用spring cloud sleuth和zipkin测量spring boot应用程序中的延迟

      主要介绍了spring cloud sleuth整合zipkin过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    global site tag (gtag.js) - google analytics
    网站地图