JobPlus知识库 IT 大数据 文章
Zipkin安装与初识

ipkin

Zipkin是一个分布式跟踪系统。它有助于收集用于解决微服务架构中的延迟问题所需的时序数据。它管理数据的收集和查找。Zipkin的设计是基于Google Dapper paper。

应用程序被用来向Zipkin报告定时数据。ZIPKIN UI还提供了一个依赖关系图,显示了多少跟踪请求遍历每个应用程序。如果您正在排除延迟问题或错误,可以根据应用程序、跟踪长度、注释或时间戳筛选或排序所有跟踪。一旦选择了一个跟踪,就可以看到每一个跨度所占的总跟踪时间的百分比,这允许您识别问题应用程序。 
简单来说,这个框架就是用来在生产环境跟踪问题的,可以直观的看出每个service之间的调用和消耗的时间。

如图,在复杂的调用链路中假设存在一条调用链路响应缓慢,如何定位其中延迟高的服务呢?

  • 日志: 通过分析调用链路上的每个服务日志得到结果
  • zipkin:使用zipkin的web UI可以一眼看出延迟高的服务

如图所示,各业务系统在彼此调用时,将特定的跟踪消息传递至zipkin,zipkin在收集到跟踪信息后将其聚合处理、存储、展示等,用户可通过web UI方便获得网络延迟、调用链路、系统依赖等等。

组件

zipkin主要涉及四个组件 collector storage search web UI

  • Collector接收各service传输的数据
  • Cassandra作为Storage的一种,也可以是mysql等,默认存储在内存中,配置cassandra可以参考这里
  • Query负责查询Storage中存储的数据,提供简单的JSON API获取数据,主要提供给web UI使用
  • Web 提供简单的web界面

Zipkin的安装

Zipkin的使用比较简单,官网有说明几种方式: 
1、容器 
Docker Zipkin项目能够建立docker镜像,提供脚本和docker-compose.yml来启动预构建的图像。最快的开始是直接运行最新镜像:

docker run -d -p 9411:9411 openzipkin/zipkin

2、下载jar 
如果你有java 8或更高版本,上手最快的方法是把新版本作为一个独立的可执行jar,Zipkin使用springboot来构建的:

curl -sSL https://zipkin.io/quickstart.sh | bash -s 

java -jar zipkin.jar


3、下载源代码运行 
Zipkin可以从源运行,如果你正在开发新的功能。要实现这一点,需要获取Zipkin的源代码并构建它。

# get the latest source

git clone https://github.com/openzipkin/zipkin

cd zipkin

# Build the server and also make its dependencies

./mvnw -DskipTests --also-make -pl zipkin-server clean install

# Run the server

java -jar ./zipkin-server/target/zipkin-server-*exec.jar


通过以上步骤的任意一一步运行Zipkin之后,游览器 可以打开http://你的ip:9411 
如下图所示: 


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

¥ 打赏支持
362人赞 举报
分享到
用户评价(0)

暂无评价,你也可以发布评价哦:)

6 人收藏了这篇文章
腾讯云数据库性能卓越稳定可靠,为您解决数据库运维难题
广告
扫码APP

扫描使用APP

扫码使用

扫描使用小程序