springboot + zipkin(brave定制-AsyncHttpClient)

猪小花1号2018-11-25 11:42

此文已由作者赵计刚薪授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。


brave本身没有对AsyncHttpClient提供类似于brave-okhttp的ClientRequestInterceptor和ClientResponseInterceptor,所以需要我们定制,而ServerRequestInterceptor和ServerResponseInterceptor是在BraveServletFilter部分直接指定就好了(这在任何client技术下都可以复用)。

实际上,ClientRequestInterceptor和ClientResponseInterceptor也是我们的定制点

 

一、代码

基本参考第二十七章 springboot + zipkin(brave-okhttp实现)

1、service1

1.1、pom.xml

 View Code

1.2、ZipkinConfig

 View Code

说明:指定了serviceName:"asyn1 - service1 - 1"

1.3、ZipkinAsyncController

 View Code

说明:

  • clientRequestInterceptor(com.ning.http.client.Request request)
    • 其实就是在做cs
  • clientResponseInterceptor(com.ning.http.client.Response response)
    • 其实就是在做cr

 

2、service2

2.1、pom.xml

 View Code

2.2、ZipkinConfig

 View Code

说明:指定了serviceName:"asyn2 - service2 - 2"

2.3、ZipkinAsyncController

 View Code

 

3、service3

3.1、pom.xml

 View Code

3.2、ZipkinConfig

 View Code

说明:指定了serviceName:"asyn3 - service3 - 3" 

3.3、ZipkinAsyncController

 View Code

 

4、service4

4.1、pom.xml

 View Code

4.2、ZipkinConfig

 View Code

说明:指定了serviceName:"asyn4 - service4 - 4"

4.3、ZipkinAsyncController

 View Code

 

二、测试结果

1、依赖关系图:

 

2、span时间消耗图

 

3、详情图

点击第4个span,查看详情:



免费体验云安全(易盾)内容安全、验证码等服务

更多网易技术、产品、运营经验分享请点击


免费体验云安全(易盾)内容安全、验证码等服务

更多网易技术、产品、运营经验分享请点击