Spring Cloud Sleuth为Spring Cloud提供了分布式跟踪的解决方案
Zipkin是分布式跟踪系统,主要功能是收集系统的时序数据,从而追踪微服务框架的系统延时等问题。
## 跟踪方式
一种采用原生的sleuth,是http方式。zipkin是其中一种实现方式
一种采用异步的方式,结合kafaka/rabbitmq等第三方中间件实现,提高效率
## 数据存储方式
mysql
Elasticsearch
cassandra
in-momery
(每种方式依赖的jar不同)
1、添加依赖
2、启动类添加注解 @EnableZipkinServer
3、配置文件.yml 添加 server.port=9411
-------------------------------------------------------------------------------
微服务整合Zipkin
1、添加依赖
2、配置文件
1、添加依赖
2、启动类中添加注解 @EnableZipkinStreamServer
3、修改配置文件
server.port=9411
#rabbit config
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
-------------------------------------------------------------------------------
微服务整合中间件(XXXX-service)
1、添加依赖
2、配置文件
spring.rabbitmq.host=localhost
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
=======================================================================
1、添加依赖
2、配置文件中添加:
#elasticsearch config
#将跟踪数据存储到Elasticsearch中
zipkin.storage.type=elasticsearch
zipkin.storage.elasticsearch.hosts=127.0.0.1:9200
zipkin.storage.elasticsearch.cluster=elasticsearch
zipkin.storage.elasticsearch.index=zipkin
zipkin.storage.elasticsearch.index-shards=5
zipkin.storage.elasticsearch.index-replicas=1
#mysql config
#将跟踪数据存储到Mysql中
zipkin.storage.type=mysql
spring.datasource.schema=classpath:/mysql.sql
spring.datasource.url=jdbc:mysql://${MYSQL_HOST:localhost}:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.initialize=true
spring.datasource.continueOnError=true
spring.sleuth.enabled=false