0、引言
继上一节之后,顺带看了下zipkin在elasticsearch上的部署应用,自己倒腾了一阵子,写下这篇博客,希望能够帮助到有需要的朋友,也方便自己之后的查看。
1、zipkin简介
zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。
主要有三个应用场景:
- 故障快速定位
通过分析调用链,可以将一次请求的逻辑轨迹完整清晰的展示出来,通过在开发中在业务日志中添加调用链ID,可以通过调用链结合业务日志快速定位错误信息。
- 性能分析
在调用链的各个环节分别添加调用时延,可以分析系统的性能瓶颈,进行有针对性的优化。
- 服务可用性
通过分析各个环节的平均时延,QPS等信息,可以找到系统的薄弱环节,对一些模块做调整,例如数据冗余、链路可用等。
zipkin架构图如下:
zipkin主要有以下四个模块:
- Collector:接收各service传输的数据;
- Storage:存储收集过来的数据,当前支持Cassandra,Redis,HBase,