zipkin
2016-11-10 14:58:05 0 举报
Zipkin是一个分布式追踪系统,主要用于收集、存储和分析微服务架构中的请求数据。它可以帮助开发者快速定位系统中的性能瓶颈和故障点,从而提高系统的可用性和稳定性。Zipkin支持多种数据存储方式,如内存、数据库等,并提供了丰富的查询功能,方便开发者对追踪数据进行深入分析。此外,Zipkin还具有良好的兼容性,可以与各种主流的微服务框架(如Spring Cloud、Dubbo等)无缝集成,为开发者提供一站式的分布式追踪解决方案。总之,Zipkin是微服务架构中不可或缺的性能监控工具,对于提高系统的稳定性和可维护性具有重要意义。
作者其他创作
大纲/内容
1. 获取current local span2. 增加annotation(CR)3. 提交给Reporter
Kafka
BraveHttpResponseInterceptor(ClientResponseInterceptor)(ClientTracer)
AsyncReporter with KafkaSender
preHandle
KafkaCollector
service Z
ServerTracer
spanAndEndpoint(): ServerSpanAndEndpointreporter(): Reporter traceSampler(): SamplerrandomGenerator(): Randomclock(): AnnotationSubmitter.Clock
setServerReceived()setServerSend()setStateCurrentTrace()setStateNoTracing()setStateUnknown()clearCurrentSpan()
......
afterCompletion
ZipkinHttpCollector
ServerResponseInterceptor(ServerTracer)
ClientTracer
spanAndEndpoint(): ClientSpanAndEndpointreporter(): Reporter traceSampler(): SamplerrandomGenerator(): Randomclock(): AnnotationSubmitter.Clock
setClientSend()setClientReceived()startNewSpan()
1. 获取current local span2. 生成新的span及annotation(CS)3. 存入到ThreadLocal中
ServerRequestInterceptor(ServerTracer)
ServletHandlerInterceptor
1. 获取TraceData2. 生成span及annotation(SR)3. 存入到ThreadLocal中
HttpClient
AnnotationSubmitter
spanAndEndpoint: SpanAndEndpoint
submitAnnotation()submitStartAnnotation()submitEndAnnotation()submitBinaryAnnotation()
1. 从ThreadLocal中获取span2. 增加annotation(SS)3. 提交Reporter
客户端
BraveHttpRequestInterceptor(ClientRequestInterceptor)(ClientTracer)
service B
service A
0 条评论
下一页