spring cloud sleuth 服务跟踪
spring cloud sleuth 服务跟踪
作用:追踪分布式系统中服务的调用路径,分析各服务的延时时间
****************************
服务1:hello-service
********************
配置文件
application.yml
spring:
application:
name: hello-service
cloud:
consul:
host: 192.168.57.21
port: 8500
discovery:
prefer-ip-address: true
********************
cotroller 层
HelloController
@RestController
public class HelloController {
private Logger logger= LoggerFactory.getLogger(HelloController.class);
@RequestMapping("/hello")
public String hello(){
logger.info("hello service 本地调用:{}","hello world");
return "hello world";
}
}
****************************
服务2:hello-conusmer
********************
配置文件
application.yml
spring:
application:
name: hello-consumer
cloud:
consul:
host: 192.168.57.21
port: 8500
discovery:
prefer-ip-address: true
********************
service 层
@FeignClient(name = "hello-service",fallback = HelloServiceImpl.class)
public interface HelloService {
@RequestMapping("/hello")
String hello();
}
********************
serviceImpl 层
@Service
public class HelloServiceImpl implements HelloService {
@Override
public String hello() {
return "本地输出 hello world";
}
}
********************
controller 层
@RestController
public class HelloConsumerController {
private Logger logger= LoggerFactory.getLogger(HelloConsumerController.class);
@Resource
private HelloService helloService;
@RequestMapping("/consume")
public String helloConsume(){
logger.info("hello consumer 远程调用:{}",helloService.hello());
logger.info("hello consumer 本地调用:{}","hello consumer");
return "hello consumer";
}
}
**********************
使用测试
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzkzMTYyNQ_size_16_color_FFFFFF_t_70][]
********************
调用hello-conusmer的/consume接口:
hello-service
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzkzMTYyNQ_size_16_color_FFFFFF_t_70 1][]
hello-consumer
![watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MzkzMTYyNQ_size_16_color_FFFFFF_t_70 2][]
hello-consumer,e5282f311fdc139b,e5282f311fdc139b,false
hello-consumer:应用的名称,该值为spring.application.name的值
e5282f311fdc139b:tranceId的值,同一个请求链路的id值相同
e5282f311fdc139b:spanId,链路中的一个基本工作单元
false:默认使用抽样采集,false表示该日志不输出到相关采集服务器中,如zipkin
还没有评论,来说两句吧...