场景:
数据量大,打开zipkin页面有时候报错,打不开。
加载页面过慢,因为span数据太多。
原因:使用spring-cloud-sleuth后,feign 访问Controller后得span得名字
当使用restful风格后,span的名字就图像如上。
触发此事件的场景:
1.浏览器直接调用
解决:修改spring sleuth Controller 的 源码:
org.springframework.cloud.sleuth.instrument.web.client.AbstractTraceHttpRequestInterceptor.publishStartEvent(HttpRequest)
2.服务之间调用(feign)
解决:修改spring feign sleuth 源码:
org.springframework.cloud.sleuth.instrument.web.client.feign.TraceFeignClient.execute(Request, Options)
org.springframework.cloud.sleuth.instrument.web.client.feign.TraceFeignClient.getSpanName(Request)
3.服务之间调用(java网关,gateway(默认根据http 类型,不会有问题),zuul)
解决:修改zuul 源码:
org.springframework.cloud.sleuth.instrument.zuul.TracePreZuulFilter.runFilter()
4.或者不要用restful风格调用
相关源码文件:
来源:oschina
链接:https://my.oschina.net/xiaominmin/blog/4413452