ServiceComb+Zipkin:使用篇

本文介绍了如何使用ServiceComb结合Zipkin进行分布式调用链追踪,通过示例展示了在BMI应用中定位服务和函数级别的异常。通过添加依赖和配置,实现了服务级别的追踪,并利用自定义追踪功能深入到函数级别,从而有效解决微服务中的问题。
摘要由CSDN通过智能技术生成

分布式调用链追踪能有效地监控服务间的网络延时并可视化微服务中的数据流转。ServiceComb扩展了zipkin的接口提供了服务内部的链路调用信息,能提供更完整的调用链路信息,更容易定位问题和潜在性能问题。本文将介绍ServiceComb 提供的分布式调用链追踪能力及使用指导。

一. 异常场景示例

我们将使用ServiceComb的入门案例BMI(体质指数应用),展示ServiceComb的调用链追踪和自定义调用链追踪能力。BMI应用程序包含体质指数计算calculator和服务网关webapp两个服务,参见ServiceComb的入门案例BMI指导1
我们给BMI的calculator微服务增加了异常代码,如下。

public double calculate(double height, double weight) {
   

	// 异常代码:增加一块进程休眠代码(模拟实际工作中调用当前线程处理其他业务的情景)
    try{
   
    Thread.currentThread().sleep(5000);
    } catch (Exception e){
   	
    }
	// 正常代码:计算身高体重的bmi值
    if (height <= 0 || weight <= 0) {
   
      throw new IllegalArgumentException("Arguments must be above 0");
    }
    double heightInMeter = height / 100;
    double bmi = weight / (heightInMeter * heightInMeter);
    return roundToOnePrecision(bmi);
  }	

参见BMI程序使用指导1,运行bmi程序,出现如下异常结果。
在这里插入图片描述

二. 使用Zipkin定位服务级别异常

以上的BMI示例还未开启调用链追踪,下面我们将使用ServiceComb提供的分布式调用链追踪能力定位分析BMI应用的哪个服务发生了异常。

首先需要给BMI程序配置zipkin调用链追踪能力,只需添加两个配置即可。可参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值