java B2B2C电子商务平台分析之十三

  • 时间:
  • 浏览:1

针对服务化应用全链路追踪的大问提,Google发表了Dapper论文,介绍了大伙如何进行服务追踪分析。其基本思路是在服务调用的请求和响应中加入ID,标明上下游请求的关系。利用哪几种信息,还还都可否 可视化地分析服务调用链路和服务间的依赖关系。

整体代码内部管理如下 资料和源码来源

_

3.Transport

派发的Spans需用从被追踪的服务运输到Zipkin collector,有有另还还有一个 主要的传输最好的最好的办法:HTTP, Kafka和Scribe;

Zipkin是哪几种

Zipkin分布式跟踪系统;它还还都可否 帮助派发时间数据,出理 在microservice架构下的延迟大问提;它管理哪几种数据的派发和查找;Zipkin的设计是基于谷歌的Google Dapper论文。

每个应用守护tcp连接向Zipkin报告定时数据,Zipkin UI呈现了有另还还有一个 依赖图表来展示几条跟踪请求经过了每个应用守护tcp连接;很多 想出理 延迟大问提,还还都可否 过滤很多 排序所有的跟踪请求,很多 还还都可否 查看每个跟踪请求占总跟踪时间的百分比。

Spring Cloud Sleuth是对Zipkin的有另还还有一个 封装,对于Span、Trace等信息的生成、接入HTTP Request,以及向Zipkin Server发送派发信息等全版自动完成。

Zipkin架构

Zipkin_

2.Span

每个服务的出理 跟踪是有另还还有一个 Span,还还都可否 理解为有另还还有一个 基本的工作单元,饱含 了很多描述信息:id,parentId,name,timestamp,duration,annotations等。

Zipkin原理

1.Trace

Zipkin使用Trace内部管理表示对一次请求的跟踪,一次请求很多 由后台的若干服务负责出理 ,每个服务的出理 是有另还还有一个 Span,Span之间有依赖关系,Trace很多树内部管理的Span集合;

跟踪器(Tracer)处于你的应用守护tcp连接中,并记录处于的操作的时间和元数据,提供了相应的类库,对用户的使用来说是透明的,派发的跟踪数据称为Span;将数据发送到Zipkin的仪器化应用守护tcp连接中的组件称为Reporter,Reporter通过几种传输最好的最好的办法之一将追踪数据发送到Zipkin派发器(collector),很多 将跟踪数据进行存储(storage),由API查询存储以向UI提供数据。

架构图如下:

对应Dpper的开源实现是Zipkin,支持多种语言包括JavaScript,Python,Java, Scala, Ruby, C#, Go等。其中Java由多种不同的库来支持

4.Components

有有另还还有一个 组件组成Zipkin:collector,storage,search,web UI

collector:一旦跟踪数据到达Zipkin collector守护守护tcp连接,它将被验证,存储和索引,以供Zipkin派发器查找;

storage:Zipkin最初数据存储在Cassandra上,很多 Cassandra是可扩展的,具有灵活的模式,并在Twitter中极少量使用;很多 这些组件可插入,除了Cassandra之外,还支持ElasticSearch和MySQL; 存储,zipkin默认的存储最好的最好的办法为in-memory,即不让进行持久化操作。很多 想进行派发数据的持久化,还还都可否 存储数据在Cassandra,很多 Cassandra是可扩展的,有有另还还有一个 灵活的模式,很多 在Twitter中被极少量使用,大伙使这些组件可插入。除了Cassandra,大伙原生支持ElasticSearch和MySQL。很多后端很多 作为第三方扩展提供。

search:一旦数据被存储和索引,大伙需用这些最好的最好的办法来提取它。查询守护守护tcp连接提供了有另还还有一个 简单的JSON API来查找和检索跟踪,主要给Web UI使用;

web UI:创建了有另还还有一个 GUI,为查看痕迹提供了有另还还有一个 很好的界面;Web UI提供了这些基于服务,时间和注释查看跟踪的最好的最好的办法。

为哪几种使用Zipkin

随着业务如此 复杂化,系统也随之进行各种拆分,特别是随着微服务架构和容器技术的兴起,看似简单的有另还还有一个 应用,后台很多 有几还还有一个 甚至几百个服务在支撑;有另还还有一个 前端的请求很多 需用多次的服务调用最还还都可否 够完成;当请求很快很多 不可用时,大伙无法得知是哪个后台服务引起的,这时就需用出理 如何快速定位服务故障点,Zipkin分布式跟踪系统就能很好的出理 原本的大问提。