Spring Cloud学习笔记---Spring Cloud Sleuth--一个手动搭建zipkin碰到的坑(2018-08-07)

陌路散爱 提交于 2019-12-07 10:13:24

又到了愉快的学习英语的时间了
Sleuth 侦探,
侦探啥意思晓得吧,所以这个组件是干啥的呢。
首先考虑一个问题,为什么我们需要这个组件,
现实世界中的侦探都是干啥的呢,推理,追踪,破案。
所以在Spring Cloud中类似的,差不多就是干这个的。
首先在微服务集群中,随着系统的逐渐庞大,微服务越来越多,服务之间的调用越来越复杂,一团乱麻,出事了找谁呢,所以就有了服务链路追踪这种说法,于是Spring Cloud Sleuth这个组件就出现了。
听听大佬说的话高大上的解释

微服务架构上通过业务来划分服务的,通过REST调用,对外暴露的一个接口,可能需要很多个服务协同才能完成这个接口功能,如果链路上任何一个服务出现问题或者网络超时,都会形成导致接口调用失败。随着业务的不断扩张,服务之间互相调用会越来越复杂。

(1)zipkin 使用ZipkinServer的功能,收集调用数据,并展示
(2)service-zhangSan,对外暴露beat接口。
(3)service-liSi,对外暴露beat接口。
搭建一个zipkinServer,这里有个版本大坑
在Finchley版本不需要zipkinServer,
而要自己手动去搭建一个zipkinServer的时候,就要注意了,版本一定看清楚
看老夫的zipkinServerTen,嗯,已经到Ten了,可见我已经被这个版本问题搞的多炸毛了。

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.example</groupId>
    <artifactId>demo</artifactId>
    <version>0.0.1-SNAPSHOT</version>
    <packaging>jar</packaging>

    <name>serviceTen</name>
    <description>Demo project for Spring Boot</description>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>1.5.2.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <java.version>1.8</java.version>
    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter</artifactId>
        </dependency>

        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-test</artifactId>
            <scope>test</scope>
        </dependency>

        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-server</artifactId>
        </dependency>

        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-ui</artifactId>
        </dependency>

    </dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>Camden.SR6</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <build>
        <plugins>
            <plugin>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
            </plugin>
        </plugins>
    </build>


</project>

之前在使用2.0.4.RELEASE版本的spring boot的时候,疯狂爆红,纠结死了,改成了1.5.2.RELEASE版本终于是好了。

接下来就是application.yml了
只有一行
将其开在哪个端口

server:
  port: 9494

之后访问http://localhost:9494 就可以看到zipkin的图形化界面了。

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!