[spring-cloud-zipkin简单使用]

zipkin简介:

在微服务系统中,随着业务的发展,系统会变得越来越大,那么各个服务之间的调用关系也就变得越来越复杂。一个 HTTP 请求会调用多个不同的微服务来处理返回最后的结果,在这个调用过程中,可能会因为某个服务出现网络延迟过高或发送错误导致请求失败,这个时候,对请求调用的监控就显得尤为重要了。Spring Cloud Sleuth 提供了分布式服务链路监控的解决方案。下面介绍 Spring Cloud Sleuth 整合 Zipkin 的解决方案。但是这一篇就简单的使用一下zipkin,这种方式有一定的弊端,表现在zipkin记录调用链路消息的传递时消耗时间,时间开销不可忽视,有机会的话整合一下mq,优化zipkin。

搭建zipkin服务器:

有三种安装方法:
Zipkin的使用比较简单,官网有说明几种方式:
1、容器
Docker Zipkin项目能够建立docker镜像,提供脚本和docker-compose.yml来启动预构建的图像。最快的开始是直接运行最新镜像:

docker run -d -p 9411:9411 openzipkin/zipkin

2、下载jar
如果你有java 8或更高版本,上手最快的方法是下载一个zipkinserver.xx.jar并运行,详情参看

#win 打开cmd  执行如下命令:
java -jar zipkin.jar

3、下载源代码运行
Zipkin可以从源运行,如果你正在开发新的功能。要实现这一点,需要获取Zipkin的源代码并构建它。

git clone https://github.com/openzipkin/zipkin
cd zipkin
# Build the server and also make its dependencies
./mvnw -DskipTests --also-make -pl zipkin-server clean install
# Run the server
java -jar ./zipkin-server/target/zipkin-server-*exec.jar

这里我们使用第二种方式:

启动我们的zipkin服务:访问http://127.0.0.1:9411/,看到如下界面表示服务已经启动成功
在这里插入图片描述

接下来搭建其他服务:

  1. 所需服务,eureka-server , 服务提供方,服务调用方。
    在这里插入图片描述
    如图我这里启动了五个服务。
  2. EurekaServerApplication 注册中心。
  3. LocalApplication 对外提供接口。http://localhost:9000/hello
  4. ConsumerApplication LocalApplication 调用ConsumerApplication
  5. ClientAApplication LocalApplication 调用ClientAApplication
  6. ClientApplication ClientAApplication 调用ClientApplication
    ConsumerApplication 和 ClientAApplication 是集群服务
    在这里插入图片描述
    调用关系如图:
    在这里插入图片描述依赖如下:
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zipkin</artifactId>
        </dependency>

配置如下:

spring:
  application:
    name: consumer-service
  zipkin:
    #Zipkin Server 的 ip:port,这里换成自己的 Zipkin Server 的 IP 即可
    #    base-url: http://192.168.174.128:9411/
    #为了测试 rabbitmq 的集成,修改为错误指向
    base-url: http://127.0.0.1:9411/
  #这里把抽样百分比设置为1,即信息全部采集
  sleuth:
    sampler:
      probability: 1.0

下面开始测试:
在这里插入图片描述
调用链路关系已经很明了了,包括响应时间都明明白白。
这里有一个坑,zipkin和ribbon同时使用时,要将ribbon的调用方式配置注释掉,不然的话,zipkin会认为实例已死,一直走熔断。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值