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

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

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

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


<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.0modelVersion>

    <groupId>com.examplegroupId>
    <artifactId>demoartifactId>
    <version>0.0.1-SNAPSHOTversion>
    <packaging>jarpackaging>

    <name>serviceTenname>
    <description>Demo project for Spring Bootdescription>

    <parent>
        <groupId>org.springframework.bootgroupId>
        <artifactId>spring-boot-starter-parentartifactId>
        <version>1.5.2.RELEASEversion>
        <relativePath/> 
    parent>

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

    <dependencies>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starterartifactId>
        dependency>

        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-webartifactId>
        dependency>
        <dependency>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-testartifactId>
            <scope>testscope>
        dependency>

        <dependency>
            <groupId>io.zipkin.javagroupId>
            <artifactId>zipkin-serverartifactId>
        dependency>

        <dependency>
            <groupId>io.zipkin.javagroupId>
            <artifactId>zipkin-autoconfigure-uiartifactId>
        dependency>

    dependencies>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloudgroupId>
                <artifactId>spring-cloud-dependenciesartifactId>
                <version>Camden.SR6version>
                <type>pomtype>
                <scope>importscope>
            dependency>
        dependencies>
    dependencyManagement>

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


project>

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

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

server:
  port: 9494

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

你可能感兴趣的:(SpringCloud学习笔记)