istio-jaeger-spring boot调用链配置


istio-jaeger-spring boot调用链配置

 

虽然,istio ingress controller已经生成了jaeger 记录所需要的信息,但是多个分布式之间没法清晰记录相互之间的依赖关系。所以相关的项目还需要加入特殊配置。

如:有四个服务 portal、service-a、service-b、service-c,它们之间的关系如下

portal调用服务service-a和service-c,service-a调用service-b

 

服务加入特殊处理前Jaeger ui记录的结果为:

服务特殊处理后:

 

1.实现request header信息传递

写子类实现 HttpSpanInjector、HttpSpanExtractor实现分布式调用链http header信息的传递(spanid,traceid,span-parentid....)

2.服务启动类注入类

@Bean
HttpSpanInjector istioHttpSpanInjector() {
return new IstioHttpSpanInjector();
}

@Bean
HttpSpanExtractor istioHttpSpanExtractor() {
return new IstioHttpSpanExtractor();
}

 3.具体配置参考项目

https://github.com/jiuchongxiao/istio-sample-springboot-jaeger-v0.3


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM