ZipKin
一、zipkin解决了什么问题
1.1、什么是zipkin
zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),其主要功能是聚集来自各个异构系统的实时监控数据。
它的原理是基于2010年谷歌发表了其内部使用的分布式跟踪系统Dapper的论文(http://static.googleusercontent.com/media/research.google.com/zh-CN//archive/papers/dapper-2010-1.pdf,译文地址:http://bigbully.github.io/Dapper-translation/),讲述了Dapper在谷歌内部两年的演变和设计、运维经验,Twitter也根据该论文开发了自己的分布式跟踪系统Zipkin,并将其开源。其实还有很多的分布式跟踪系统,比如Apache的HTrace,阿里的鹰眼Tracing、京东的Hydra、新浪的Watchman等。
1.2、zipkin和ELK的区别
ELK提供的是日志的管理,包含了收集、存储、搜索等功能,但是它缺乏实时服务链路跟踪。而zipkin刚好凝补了它这个缺陷。
二、ZipKin底层原理
三、采用RabbitMQ收集跟踪数据
3.1、为什么要用RabbitMQ
- 解决服务扩展性问题
- 解耦(不需要强依赖spring-cloud-sleuth-zipkin jar)