Zipkin为分散式的追踪系统,功能为收集所有Twitter不同服务的时序资料,使Twitter执行更加快速,类似于Firefox的扩充套件Firebug,不同的部分在于︰Zipkin是藉由网站后端追踪,Firebug则是以浏览器追踪。此套追踪系统于6月7日以APLv2授权成为开放原始码软体。
Zipkin 能帮助我们找到一些未开发的性能优化,如删除memcache 的请求、重写太慢的MysqL SELECT 指令,以及修正不正确的服务逾时等。寻找与修正这些类型的性能瓶颈,能帮助Twitter 更加快速。
微博公司表示,他们也使用Zipkin 收集其所有服务的时序资料。Twitter 目前已创建检测库来收集能通过Collector 程序的的追踪资料,并储存于资料库中,开发人员与系统管理员便能透过网页前端分析这些资料。典型的使用例子为找出使用者请求逾时的原因,可让开发人员查明瓶颈位于系统中的哪个地方。
Zipkin使用分散式Nosql资料库系统Apache Cassandra为数据储存系统,分散式应用程序协调服务Apache ZooKeeper为协调系统,以及Facebook收集日志的服务器Scribe记录追踪数据。这些都是开放原始码的软体,Twitter也将Zipkin释出为开源软体,希望能扩展支援更多的系统。
相关网址
- 分散式追踪系统Zipkinhttp://engineering.twitter.com/2012/06/distributed-systems-tracing-with-zipkin.html
- Zipkin : Twitter新的开放原始码专案http://www.h-online.com/open/news/item/Zipkin-Twitter-s-new-open-source-distributed-tracing-project-1612884.html
- Github : Zipkin为分散式追踪系统https://github.com/twitter/zipkin