• zipkin 服务跟踪


    场景:系统访问服务很慢,如果在每个系统都加切面拦截arond ,打印查看访问时间。这个比较繁琐,系统多了也比较不科学。

    springcloud 的一组件 zipkin 为我们提供了这样的工具。

    官网:https://zipkin.io/pages/quickstart.html

    分两步实现服务跟踪,查找慢点:

    第一步:部署服务。

    官网提供有3种方式给我们。

    1、docker 部署服务。

    2、下载jar运行。

    3、下载源码编译运行。

    最近都在使用docker,所以我选择了第一种,也是官网推荐的:docker

    docker run -d -p 9411:9411 openzipkin/zipkin

     修改了下官网提供的脚本:加上内存限制,跟服务启动自启。重命名容器。

    docker run --restart=always 
    -m 1000M --memory-swap -1 
    -d --name zipkin 
     -p 9215:9411  
     openzipkin/zipkin

    运行后发现内存开销也就200多M。

    CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT    MEM %               NET I/O             BLOCK I/O           PIDS
    974bf61270d5        zipkin              0.05%               292.3MiB / 1000MiB   29.23%              731kB / 1.75MB      0B / 0B             18

    访问:http://192.168.89.190:9215/

    我这里编辑部署到服务器上:写了个zipkin_docker.sh 脚本

    [root@localhost soft]# mkdir zipkin
    [root@localhost soft]# cd zipkin/
    [root@localhost zipkin]# vi  zipkin_docker.sh 
    docker run --restart=always 
    -m 1000M --memory-swap -1 
    -d --name zipkin 
     -p 9215:9411  
     openzipkin/zipkin

    第二步:springboot应用整合zipkin服务。

    我们这里不用管服务端,客户端,只要配置上zipkin地址即可。

    application.yml

    spring:
      zipkin:
        enabled: true
        base-url: http://192.168.89.190:9215

    项目pom.xml增加依赖jar

           <!--服务链路追踪-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-starter-sleuth</artifactId>
            </dependency>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-sleuth-zipkin</artifactId>
            </dependency>
        <properties>
    <!--zipkin2.12.x需要此版本jooq -->
            <jooq.version>3.11.11</jooq.version>
            <zipkin.version>2.12.2</zipkin.version>
            <zipkin-storage-mysql.version>2.8.4</zipkin-storage-mysql.version>
        </properties>

      我有3个服务。

     web-pc

     server-search

       server-db

    第三步测试结果:

    点击查询按钮,可以看到如下结果。点击每条记录,可以看到每个服务的具体每个方法请求耗时。。

  • 相关阅读:
    虚拟环境和包
    1105471854403716
    Sunshine on my shoulders
    ERROR: Command errored out with exit status 1:
    JAVA调用SAP ODATA服务
    reacthooks学习
    mtalb 密度图 制作
    vue3.0 + vite + ts 完成自动导入 vue API 和 自动导入组件
    【报告笔记】作物顺式调控模块的挖掘与利用
    【WDL】5. 实践与建议
  • 原文地址:https://www.cnblogs.com/a393060727/p/13225054.html
Copyright © 2020-2023  润新知