zipkin原理
通过zipkin的表结构,理解dapper;trace把多个span进行串接; 形成依赖链路。 结构 zipkin主要包括:collector、storage、search、webui; zipkin collector会对一个到来的被trace的数据(span)进行验证、存储并设置索引。 其中storage包括:内存、mysql、es、cassandra。 数据结构 Annotation:用于定位一个request的开始和结束,cs/sr/ss/cr含有额外的信息,比如说时间点,当这个annotation被记录了,这个RPC也被认为完成了。 cs:Client Start,表示客户端发起请求 ;一个span的开始; cr:Client Received,表示客户端获取到服务端返回信息;一个span的结束 sr:Server Receive,表示服务端收到请求 ss:Server Send,表示服务端完成处理,并将结果发送给客户端 sr-cs:网络延迟 ss-sr:逻辑处理时间 cr-cs:整个流程时间 Span:一个请求(包含一组Annotation和BinaryAnnotation);它是基本工作单元,一次链路调用(可以是RPC,DB等没有特定的限制)创建一个span,通过一个64位ID标识它。span通过还有其他的数据,例如描述信息,时间戳,key-value对的