serie de tutoriales Nube Primavera ocho: Seguimiento de vínculos distribuidos primavera Nube Sleuth (versión F)

introducción

Cuando la resolución del sistema, un extremo delantero de la solicitud de llamada de enlace se hace más largo, que denomina una pluralidad de diferentes servicios de back-end. Cuando una petición para reducir la velocidad o no está disponible, a fin de facilitar los problemas de posicionamiento, por lo que no distribuido vínculo de seguimiento.

Seguimiento de vínculos distribuidos aumentos en el traceid petición y spanId, un enlace que contiene más de un traceid spanId
como una solicitud de llamada al sistema para front-end, llamar de nuevo y el sistema de inventario del sistema orden.

El sistema registra el orden siguiente (ya que este no es el formato por defecto, el siguiente formato se puede configurar, el formato por defecto se mencionará más adelante)

[INFO][traceId=aaa][SpanId=123]

registro del sistema de inventario es el siguiente

[INFO][traceId=aaa][SpanId=456]

Traceid una solicitud de enlace, el mismo valor en diferentes sistemas, una pluralidad spanId, los valores son diferentes en distintos sistemas.

seguimiento de vínculos distribuidos tiene mucho que lograr, aquí brevemente e integración de Zipkin

github dirección: https: //github.com/erlieStar/spring-cloud-learning

Integración con Zipkin

La creación de Zipkin de servicio

Después de la versión 2.x de inicio de la primavera, el funcionario no se recomienda la compilación, sino proporcionar el paquete frasco compilado para nuestro uso, puede ser descargado directamente empezar

curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar

Después de iniciar en http: // localhost: 9411 / Zipkin
Aquí Insertar imagen Descripción

Creación de Servicios al Consumidor

Proyecto ejemplo: consumidor-Zipkin (primavera-nube-sleuth)

1. Configuración del proyecto es el siguiente

pom.xml

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

application.yaml

server:
  port: 8080

spring:
  zipkin:
    base-url: http://localhost:9411
  application:
    name: consumer-zipkin
  sleuth:
    sampler:
      probability: 1.0 # 采样比例,1.0表示全部采集

2. Inicio de clases son las siguientes

@Slf4j
@RestController
@SpringBootApplication
public class ConsumerZipkin {

    public static void main(String[] args) {
        SpringApplication.run(ConsumerZipkin.class);
    }

    @Autowired
    private RestTemplate restTemplate;

    @Bean
    public RestTemplate restTemplate() {
        return new RestTemplate();
    }

    @GetMapping("hello")
    public String hello() {
        log.info("start invoke");
        return restTemplate.getForObject("http://localhost:8090/hello", String.class);
    }
}

La creación de servicios al productor

Proyecto ejemplo: productor-Zipkin (primavera-nube-sleuth)

1. Configuración del proyecto es el siguiente

pom.xml

<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

application.yaml

server:
  port: 8090

spring:
  zipkin:
    base-url: http://localhost:9411
  application:
    name: producer-zipkin
  sleuth:
    sampler:
      probability: 1.0 # 采样比例,1.0表示全部采集

2. Inicio de clases son las siguientes

@Slf4j
@RestController
@SpringBootApplication
public class ProducerZipkin {

    public static void main(String[] args) {
        SpringApplication.run(ProducerZipkin.class);
    }

    @RequestMapping("hello")
    public String hello() {
        log.info("new request");
        return "hi zipkin";
    }
}

vocación comenzó

访问 http: // localhost: 8080 / hola

Zipkin analizar la relación entre la llamada de la siguiente
Aquí Insertar imagen Descripción
registro de impresión al consumidor zikpin es el siguiente

INFO [consumer-zipkin,53836e18c9552b3f,53836e18c9552b3f,true] 6664 --- [nio-8080-exec-1] com.javashitang.ConsumerZipkin           : start invoke

Impresión de registro como productor-Zipkin

INFO [producer-zipkin,53836e18c9552b3f,6eefb28892009df6,true] 20832 --- [nio-8090-exec-1] com.javashitang.ProducerZipkin           : new request

Analizar formato de registro

[consumer-zipkin,53836e18c9552b3f,53836e18c9552b3f,true] 

El primer valor: nombre de la aplicación
segundo valor: traceid
tercer valor: spanId
cuarto valor: si desea recopilar salidas de los servicios de información y similares para mostrar Zipkin

Introduzca traceid, analizar el siguiente enlace de llamada
Aquí Insertar imagen Descripción

atención de bienvenida

Aquí Insertar imagen Descripción

Publicados 385 artículos originales · ganado elogios 1471 · Vistas de 900.000 +

Supongo que te gusta

Origin blog.csdn.net/zzti_erlie/article/details/104335926
Recomendado
Clasificación