Привет, если целевым приложением Spring Cloud является база Spring Boot 2.x, я предлагаю не пытаться использовать @EnableZipkinServer, потому что это не raccodered способ, как предлагает документ Java:
сБазовый код Zipkin:
/**
* @deprecated Custom servers are possible, but not supported by the community. Please use our
* <a href="https://github.com/openzipkin/zipkin#quick-start">default server build</a> first. If you
* find something missing, please <a href="https://gitter.im/openzipkin/zipkin">gitter</a> us about
* it before making a custom server.
*
* <p>If you decide to make a custom server, you accept responsibility for troubleshooting your
* build or configuration problems, even if such problems are a reaction to a change made by the
* OpenZipkin maintainers. In other words, custom servers are possible, but not supported.
*/
@Target(ElementType.TYPE)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Import(InternalZipkinConfiguration.class)
@Deprecated
public @interface EnableZipkinServer {
}
Я говорил для личного опыта с приложением весенней загрузки семейства 2.x. Моим решением для разработки было использование docker compose, как показано ниже (учтите, что мое приложение использует Spring Cloud Stream для передачи информации трассировки zipkin:
version: '3.1'
services:
rabbitmq:
image: rabbitmq:3-management
restart: always
ports:
- 5672:5672
- 15671:15671
- 15672:15672
networks:
- messaging
zipkin-server:
image: openzipkin/zipkin
ports:
- 9065:9411
environment:
- zipkin.collector.rabbitmq.uri=amqp://guest:guest@rabbitmq:5672
networks:
- messaging
networks:
messaging:
driver: bridge
С другой стороны, если ваша цельПри весенней загрузке 1.5.x вы можете использовать устаревший встроенный zipkin-сервер, как показано ниже:
POM:
<?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>it.valeriovaudi.emarket</groupId>
<artifactId>zipkin-server</artifactId>
<version>0.0.1-SNAPSHOT</version>
<packaging>jar</packaging>
<name>zipkin-server</name>
<description>Demo project for Spring Boot</description>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.3.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>
<spring-cloud.version>Dalston.RELEASE</spring-cloud.version>
</properties>
<dependencies>
<!-- start web dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- end web dependencies -->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<scope>runtime</scope>
</dependency>
<!-- start distributed tracing dependencies -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin-stream</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<!-- EXAMPLE FOR RABBIT BINDING -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-stream-binder-rabbit</artifactId>
</dependency>
<!-- end distributed tracing dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- start test dependencies -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- end test dependencies -->
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<build>
<finalName>zipkin-server</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Приложение:
package it.valeriovaudi.emarket;
@SpringBootApplication
@EnableZipkinStreamServer
public class ZipkinServerApplication {
public static void main(String[] args) {
SpringApplication.run(ZipkinServerApplication.class, args);
}
}
оба решения работают для меня, весенняя загрузка 1.5.x была базовой загрузочной версией для моей магистерской работы и версия весенней загрузки 2.x для моего проекта персональной распределенной системы, которую я использую каждый день для своей работы. персона семейного управления бюджетом.
Я надеюсь, что это может помочь вам