Spring-Cloud 实战 一 服务配置中心 config
Spring-Cloud 实战 二 服务注册与发现 eureka
Spring-Cloud 实战 三 服务提供者
Spring-Cloud 实战 四 服务消费 feign
Spring-Cloud 实战 五 服务消费 feign + 断路器 hystrix
Spring-Cloud 实战 六 网关 zuul
Spring-Cloud 实战 八 服务监控 spring-boot admin
Spring-Cloud 实战 九 Spring-Cloud 之 Docker Compose编排
Spring-Cloud 实战 十 Spring Cloud 微服务 迁移到 kubernetes平台
Zipkin 是一个开放源代码分布式的跟踪系统,由Twitter公司开源,它致力于收集服务的定时数据,以解决微服务架构中的延迟问题,包括数据的收集、存储、查找和展现。
每个服务向zipkin报告计时数据,zipkin会根据调用关系通过Zipkin UI生成依赖关系图,显示了多少跟踪请求通过每个服务,该系统让开发者可通过一个 Web 前端轻松的收集和分析数据,例如用户每次请求服务的处理时间等,可方便的监测系统中存在的瓶颈。
Zipkin提供了可插拔数据存储方式:In-Memory、MySql、Cassandra以及Elasticsearch。接下来的测试为方便直接采用In-Memory方式进行存储,生产推荐Elasticsearch。
项目地址:https://github.com/xiliangMa/mscloud-config
spring:
application:
name: zipkin-service
server:
port: 3000
eureka:
instance:
hostname: mscloud-zipkin-service
client:
service-url:
defaultZone: http://mscloud-eureka-service:7000/eureka/
注意: 修改完后提交。
添加 zipkin 依赖
<dependency>
<groupId>io.zipkin.javagroupId>
<artifactId>zipkin-serverartifactId>
<version>${zipkin.version}version>
dependency>
<dependency>
<groupId>io.zipkin.javagroupId>
<artifactId>zipkin-autoconfigure-uiartifactId>
<version>${zipkin.version}version>
dependency>
标识版本
<properties>
<java.version>1.8java.version>
<spring-cloud.version>Greenwich.RELEASEspring-cloud.version>
<spring-boot.version>2.1.6.RELEASEspring-boot.version>
<spring-cloud-netflix-hystrix.version>2.0.0.RELEASEspring-cloud-netflix-hystrix.version>
<zipkin.version>2.12.8zipkin.version>
properties>
例如 feign
spring:
application:
name: consumer-service-feign
zipkin: #需要增加的内容
base-url: http://mscloud-zipkin-service:8080
添加zipkin 依赖
基于mscloud project 创建 module zipkin
添加eureka 、config、zipkin 等依赖
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-testartifactId>
<scope>testscope>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-autoconfigureartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-webartifactId>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-netflix-eureka-serverartifactId>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-configartifactId>
dependency>
<dependency>
<groupId>io.zipkin.javagroupId>
<artifactId>zipkin-serverartifactId>
dependency>
<dependency>
<groupId>io.zipkin.javagroupId>
<artifactId>zipkin-autoconfigure-uiartifactId>
dependency>
通过cloud–> config的配置读取配置中心config的信息
spring:
application:
name: zipkin-service
cloud:
config:
uri: http://mscloud-config-service:8888
name: zipkin-service
label: master
profile: dev
添加@EnableZipkinServer 注解
@EnableEurekaClient
@EnableZipkinServer
@SpringBootApplication
public class ZipkinApplication {
public static void main(String[] args) {
SpringApplication.run(ZipkinApplication.class, args);
}
}
1. 首先要启动config 配置中心
2. 启动eureka 服务端
3. 启动provider 服务
4. 启动consumer-feign
5. 启动 zuul
6. 启动zipkin
zipkin 请求链路依赖:
原文链接:https://github.com/xiliangMa/mscloud/blob/master/docs/Spring-Cloud/Spring-Cloud 实战 七 全链路监控 zipkin.md