欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

链路追踪_springcloud-第九回 链路追踪Sleuth

发布时间:2024/9/30 编程问答 52 豆豆
生活随笔 收集整理的这篇文章主要介绍了 链路追踪_springcloud-第九回 链路追踪Sleuth 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

背景

微服务架构下,几乎每一个前端请求都会形成一个复杂的分布式服务调用链路,在每条链路中任何一个依赖服务出现延迟超时或者错误都有可能引起整个请求最后的失败,为了快速定位和解决问题,需要追踪服务请求序列,分布式链路监控组件在这种需求下产生。

服务链路

解决的问题

跟踪一个用户请求的过程(包括数据采集,数据传输,数据存储,数据分析,数据可视化),捕获这些跟踪数据,就能构建微服务的整个调用链的视图,是调试和监控微服务的关键工具。

4个特点

案列结构图

集成Zipkin使用

Zipkin 提供了链路追踪的可视化 。组成: collector(收集数据) Storage(存储数据)Web UI (界面)。收集数据的方式2种,HTTP(同步)和MQ(异步),默认HTTP。

  • 搭建zipkin服务器
  • docker run -d -p 9411:9411 openzipkin/zipkin     

    访问9411端口

    2. 消费端配置

    2.1 引入依赖

    org.springframework.cloud spring-cloud-starter-zipkin

    2.2 在配置文件中声明zipkin服务器的地址

    spring: rabbitmq: host: localhost port: 9411 username: guest password: guestsleuth: sampler: probability: 1 #默认sleuth收集信息的比率是0.1, 10%

    2.3 项目中调用

    @RequestMapping("hello")public String helloConsumer() { //使用restTemplate调用消费服务提供者的SERVICE-HI的info服务 //String response=restTemplate.getForObject("http://cloud-consumer-feign/hi", String.class); String response=hiService.sayHello()+" ribbon"; logger.info(response); return response;}

    3.优化

    3.1 HTTP改为MQ通信

    3.1.1 POM 引入依赖

    org.springframework.cloud spring-cloud-starter-zipkinorg.springframework.amqp spring-rabbit  

    3.1.2 配置MQ

    spring: application: name: zipkin-server rabbitmq: #配置mq消息队列 host: localhost port: 5672 username: guest password: guest   zipkin: rabbitmq: queue: zipkin

    3.2 MySQL(内存数据库)改为ElasticSearch

    docker run --name zipkin -d -p 9411:9411 -e STORAGE_TYPE=elasticsearch -e ES_HOSTS=192.168.60.133:9200 openzipkin/zipkin

    或者docker-compose

    version: '2'services: zipkin: image: openzipkin/zipkin container_name: zipkin environment: - STORAGE_TYPE=elasticsearch - ES_HOSTS=192.168.60.133:9200 #- RABBIT_ADDRESSES=192.168.60.133:5672 #- RABBIT_USER=hangge #- RABBIT_PASSWORD=123 ports: - 9411:9411

    改造测试

    我们使用谷歌浏览器插件 ElasticSearch Head 查看当前 Elasticsearch 集群的信息。可以发现 Zipkin 跟踪数据已经成功保存进来了。

    总结

    以上是生活随笔为你收集整理的链路追踪_springcloud-第九回 链路追踪Sleuth的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。