简介:
Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开发贡献。其主要功能是聚集来自各个异构系统的实时监控数据。分布式跟踪系统还有其他比较成熟的实现,例如:Naver的Pinpoint、Apache的HTrace、阿里的鹰眼Tracing、京东的Hydra、新浪的Watchman,美团点评的CAT,skywalking等。
为什么使用Zipkin
随着业务越来越复杂,系统也随之进行各种拆分,特别是随着微服务架构和容器技术的兴起,看似简单的一个应用,后台可能有几十个甚至几百个服务在支撑;一个前端的请求可能需要多次的服务调用最后才能完成;当请求变慢或者不可用时,我们无法得知是哪个后台服务引起的,这时就需要解决如何快速定位服务故障点,Zipkin分布式跟踪系统就能很好的解决这样的问题。
安装与启动:
官方给出三种方式。Docker、java、Running from source
这里使用java -jar 方式 ,由于zipkin是使用springboot开发得项目,所以可以使用带参数得方式启动,
eg: 指定zipkin的数据保存方式,链路信息默认缓存、还可以使用 Kafaka、RabbitMQ,持久化可以使用 ElasticSearch、Mysql
这里给出部分配置信息,具体的配置文件可从zipkin.jar中的寻找;修改的配置文件加在java -jar 后即可,如:
java -jar zipkin.jar --zipkin.collector.rabbitmq.addresses=localhost --zipkin.storage.type=mysql
--zipkin.storage.mysql.host=localhost --zipkin.storage.mysql.port=3306 --zipkin.storage.mysql.username=root
--zipkin.storage.mysql.password=mysql --zipkin.storage.mysql.db=zipkin
具体使用可参考官网:https://zipkin.io 和zipkin 的源码 https://github.com/openzipkin/zipkin