1.java -jar zipkin-server-2.23.18-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST=127.0.0.1 --MYSQL_TCP_PORT=3306 --MYSQL_DB=zipkin --MYSQL_USER=user --MYSQL_PASS=1000 --RABBIT_ADDRESSES=127.0.0.1:5672 --RABBIT_USER=guest --RABBIT_PASSWORD=guest
2.创建数据库
CREATE DATABASE `zipkin`
use zipkin;
CREATE TABLE IF NOT EXISTS zipkin_spans (
`trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead of 64 bit',
`trace_id` BIGINT NOT NULL,
`id` BIGINT NOT NULL,
`name` VARCHAR(255) NOT NULL,
`remote_service_name` VARCHAR(255),
`parent_id` BIGINT,
`debug` BIT(1),
`start_ts` BIGINT COMMENT 'Span.timestamp(): epoch micros used for endTs query and to implement TTL',
`duration` BIGINT COMMENT 'Span.duration(): micros used for minDuration and maxDuration query',
PRIMARY KEY (`trace_id_high`, `trace_id`, `id`)
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;
ALTER TABLE zipkin_spans ADD INDEX(`trace_id_high`, `trace_id`) COMMENT 'for getTracesByIds';
ALTER TABLE zipkin_spans ADD INDEX(`name`) COMMENT 'for getTraces and getSpanNames';
ALTER TABLE zipkin_spans ADD INDEX(`remote_service_name`) COMMENT 'for getTraces and getRemoteServiceNames';
ALTER TABLE zipkin_spans ADD INDEX(`start_ts`) COMMENT 'for getTraces ordering and range';
CREATE TABLE IF NOT EXISTS zipkin_annotations (
`trace_id_high` BIGINT NOT NULL DEFAULT 0 COMMENT 'If non zero, this means the trace uses 128 bit traceIds instead of 64 bit',
`trace_id` BIGINT NOT NULL COMMENT 'coincides with zipkin_spans.trace_id',
`span_id` BIGINT NOT NULL COMMENT 'coincides with zipkin_spans.id',
`a_key` VARCHAR(255) NOT NULL COMMENT 'BinaryAnnotation.key or Annotation.value if type == -1',
`a_value` BLOB COMMENT 'BinaryAnnotation.value(), which must be smaller than 64KB',
`a_type` INT NOT NULL COMMENT 'BinaryAnnotation.type() or -1 if Annotation',
`a_timestamp` BIGINT COMMENT 'Used to implement TTL; Annotation.timestamp or zipkin_spans.timestamp',
`endpoint_ipv4` INT COMMENT 'Null when Binary/Annotation.endpoint is null',
`endpoint_ipv6` BINARY(16) COMMENT 'Null when Binary/Annotation.endpoint is null, or no IPv6 address',
`endpoint_port` SMALLINT COMMENT 'Null when Binary/Annotation.endpoint is null',
`endpoint_service_name` VARCHAR(255) COMMENT 'Null when Binary/Annotation.endpoint is null'
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;
ALTER TABLE zipkin_annotations ADD UNIQUE KEY(`trace_id_high`, `trace_id`, `span_id`, `a_key`, `a_timestamp`) COMMENT 'Ignore insert on duplicate';
ALTER TABLE zipkin_annotations ADD INDEX(`trace_id_high`, `trace_id`, `span_id`) COMMENT 'for joining with zipkin_spans';
ALTER TABLE zipkin_annotations ADD INDEX(`trace_id_high`, `trace_id`) COMMENT 'for getTraces/ByIds';
ALTER TABLE zipkin_annotations ADD INDEX(`endpoint_service_name`) COMMENT 'for getTraces and getServiceNames';
ALTER TABLE zipkin_annotations ADD INDEX(`a_type`) COMMENT 'for getTraces and autocomplete values';
ALTER TABLE zipkin_annotations ADD INDEX(`a_key`) COMMENT 'for getTraces and autocomplete values';
ALTER TABLE zipkin_annotations ADD INDEX(`trace_id`, `span_id`, `a_key`) COMMENT 'for dependencies job';
CREATE TABLE IF NOT EXISTS zipkin_dependencies (
`day` DATE NOT NULL,
`parent` VARCHAR(255) NOT NULL,
`child` VARCHAR(255) NOT NULL,
`call_count` BIGINT,
`error_count` BIGINT,
PRIMARY KEY (`day`, `parent`, `child`)
) ENGINE=InnoDB ROW_FORMAT=COMPRESSED CHARACTER SET=utf8 COLLATE utf8_general_ci;
3.application.yml
spring:
zipkin:
base-url: http://127.0.0.1:9411
discoveryClientEnabled: false
sender:
type: web
sleuth:
sampler:
probability: 1.0
4.jar
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
分享到:
相关推荐
微服务SpringCloud全套P2P金融项目Java工程代码技术要点:注册中心:Apolo限流:Sentinel网关:Zuul链路追踪:Sleuth&Zipkin服务熔断:Hystrix远程调用:Feign
一份springcloud链路追踪的demo源码,包括了在不使用rabbitmq的情况下得到链路追踪demo和使用了rabbitmq的情况下的链路追踪demo,其中app1,app2使用了rabbitmq的demo,app3,app4未未使用rabbitmq的demo,
通过Zipkin,我们可以快速地追踪请求在分布式系统中的传播路径,从而定位性能问题,优化服务调用链路。 在本项目中,开发者可以结合这三者,构建一个完整的微服务体系: 1. **服务注册与发现**:所有微服务实例...
Spring Cloud Sleuth 和 Zipkin 是两个非常流行的工具,用于实现微服务架构中的链路追踪。本篇将详细介绍这两个组件以及如何在Windows环境下进行初步使用。 **Spring Cloud Sleuth** Spring Cloud Sleuth 是一个...
springcloud:Zipkin链路追踪demo源码案例演示
SpringCloud 可视化链路追踪系统 Zipkin 部署过程 本文主要介绍了 SpringCloud 可视化链路追踪系统 Zipkin 部署过程,并提供了详细的示例代码,对大家的学习或者工作具有一定的参考学习价值。 什么是 Zipkin? ...
毕业设计基于SpringCloud微服务分布式链路追踪系统源码 追踪实现 使用zipkin+sleuth实现 这个是比较成熟的分布式链路追踪实现方案 拦截器自定义实现 基于Google Dapper 论文,进行自定义实现。 原理: traceId :...
### Spring Cloud Sleuth服务链路追踪详解 #### 一、Spring Cloud Sleuth简介 Spring Cloud Sleuth 是一款针对微服务架构中的服务链路追踪工具,主要用于解决分布式系统中服务调用链路的追踪问题。通过引入Sleuth...
Spring Cloud Zipkin 是一个流行的链路追踪工具,它与 Spring Boot 和 Spring Cloud 结合使用,可以轻松地在微服务架构中实现分布式系统的可观测性。本教程将介绍如何整合 Spring Cloud 与 Zipkin 来实现链路追踪,...
总结来说,Spring Cloud Sleuth+RabbitMQ+Zipkin的结合提供了一套强大的解决方案,帮助我们在微服务环境中实现分布式链路追踪。通过这个Demo程序,我们可以学习如何配置和使用这些工具,以便更好地理解和调试我们的...
zipkin为分布式链路调用监控系统,聚合各业务系统调用延迟数据,达到链路调用监控跟踪。 zipkin主要涉及四个组件 collector storage search web UI 1.Collector接收各service传输的数据 2.Cassandra作为Storage的一...
spring高手之路21 Spring API 网关 073 某D课堂 - 新版本微服务SpringCloud+Docker教程 video code.zip 35.5MB 9-05 微服务相关项目改造...7-05 高级篇幅之链路追踪组件Zipkin+Sleuth实战~1.mp4 355.3MB 7-04 可视
2. **分布式链路跟踪**:Zipkin是SpringCloud用于分布式系统追踪的工具,它可以收集并展示服务之间的调用链路,帮助开发者理解请求在系统中的传播过程,快速定位性能瓶颈或故障点。通过Zipkin,我们可以收集服务调用...
通过整合Spring Cloud Sleuth和Zipkin,可以在provider和consumer中添加相应的Jar包,并进行必要的配置,从而实现对微服务调用链路的全程追踪。同时,还提供了如何将Zipkin的跟踪数据持久化到MySQL数据库的方法,...
4. 依赖Zipkin或Jaeger:为了更直观地查看链路追踪的结果,可以集成Zipkin或Jaeger作为链路追踪数据的收集和可视化工具。通过Sleuth收集到的追踪数据会被发送到Zipkin服务器,Zipkin会进行索引和存储,并提供一个...
【Spring Cloud Sleuth 分布式链路追踪】 随着企业业务的发展,系统往往会被拆分成多个微服务,以提高系统的可扩展性和灵活性。然而,这种拆分导致了系统调用链路变得复杂,一个前端请求可能需要经过多个后端服务...
Spring Cloud 分布式整合 Zipkin 的链路跟踪详解 知识点1:为什么使用 Zipkin? 在分布式系统中,服务之间的调用关系非常复杂,导致日志查找和调用关系追踪变得困难。Zipkin 可以解决这个问题,它可以将链路调用...
在微服务架构中,一个请求可能会经过多个服务节点,这使得问题的定位和性能的监控变得...通过上述步骤,开发者可以轻松地在Spring Boot和Vue.js项目中实现全链路追踪,从而更好地监控和优化微服务架构下的应用性能。
Java微服务链路追踪之Zipkin搭建 微服务链路追踪是微服务治理方案中的一项必修课,SpringCloud的组件其实使用很简单,但是在生产环境中真正令人头疼的问题往往是软件维护,接口在微服务间的调用究竟哪个环节出现了...
SpringCloud为Zipkin提供了官方支持,通过Spring Cloud Sleuth库,我们可以方便地在微服务中启用追踪功能。 1. **添加依赖** 在SpringCloud项目中,我们需要在pom.xml文件中引入Spring Cloud Sleuth和Spring Cloud...