有一段时间没写了,接着之前的吧这个写完
使用zipkin可以方便的查看服务之间的调用,调用出错的也可以查看,还可以导出json,数据分析也很方便
let’s do it
目前我知道的有两种搭建的方式,先来方便简单地
添加依赖
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>2.12.0</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>2.12.0</version>
</dependency>
spring boot版本:2.1.14
spring cloud版本:Greenwich.SR5
虽然到目前spring boot 已经到2.3.x了但不要怀疑我,继续
主类添加注解
@SpringBootApplication
@EnableZipkinServer
@EnableDiscoveryClient
public class ZipkinApplication {
public static void main(String[] args) {
SpringApplication.run(ZipkinApplication.class, args);
}
}
配置文件里面没啥特别的配置
server:
port: 9030
address: 192.168.31.37
spring:
application:
name: BYB-ZIPKIN
# spring:
# zipkin:
# base-url: http://${server.address}:9040
# sleuth:
# sampler:
# # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
# probability: 1.0
eureka:
instance:
ip-address: ${server.address}
hostname: ${server.address}
non-secure-port: ${server.port}
prefer-ip-address: true
instance-id: ${server.address}:${server.port}
lease-renewal-interval-in-seconds: 10
client:
register-with-eureka: true
fetch-registry: true
serviceUrl:
defaultZone: http://${server.address}:38001/eureka/
然后访问端口
刚开始没有调用信息,其他服务需要添加依赖和配置
- 依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
- 感觉除了注册中心,几乎所有的微服务都需要添加依赖,没有添加依赖的微服务在调用链中会消失
-加配置
spring:
application:
name: ts-customer
sleuth:
web:
client:
enabled: true
sampler:
# 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
probability: 1.0
zipkin:
enabled: true
base-url: http://${server.address}:9030
sender:
type: web
locator:
discovery:
enabled: true
- 像这样的配置是所有微服务都一样的,我们就可以使用配置中心,把它放到公共的服务里面,非常方便管理
自己调用几次接口就可以看见调用信息。。如果到这里调用没看见有调用信息。建议查看配置文件是否有问题。
途中的遇到问题
和往常一样使用idea搭建项目,然后引依赖,导入jar包,然后就是各种报错,我看别人也是这么搭建的啊,之前我们也搭建成功了啊(去年年底搭建过一套完整的),还好基于之前的经验,报的错五花八门,我都不带看的,99%就是版本不兼容问题,然后看springboot版本2.2.2,降,反正就是各种改版本
。。。。。。。。。。。。。。一条辛酸路
最后还是谷歌了一下,解决了问题(百度就不说了。。)
在maven中央仓库可以看见支持的版本,怪我太年轻,之前没注意看,只知道引jar包去了
zipkin-server最高版本才支持到spring boot 2.1.4。。。。
好吧。。。。。。
另一种搭建方式
我这里就提一下,因为我懒,所以就不搞了
需要下载zipkin-server的jar包,然后运行它(因为还要下载jar部署,所以我放弃了这种方式)
然后访问http://ip:9411访问,这都不是问题
然后新建spring boot项目
引依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
添加配置
spring:
application:
name: BYB-ZIPKIN
spring:
zipkin:
base-url: http://zipkin服务ip:9411
sleuth:
sampler:
# 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。
probability: 1.0
应该也是可以的。。。。。
zipkin页面详解:https://blog.csdn.net/zlhmeng/article/details/106190961
over!