@levinzhang
2017-01-18T06:32:44.000000Z
字数 2125
阅读 519
by Daniel Bryant on Jan 15, 2017
Google云平台(Google Cloud Platform)发布了一个开源的Zipkin服务器,允许兼容Zipkin的客户端发送跟踪信息到Google自己的Stackdriver Trace分布式跟踪服务中,从而实现分析的功能。Zipkin/Stackdriver Trace集成的目标用户是某些开发人员,他们编写的应用和服务所使用的语言或框架可能是Stackdriver Trace官方所不支持的。
Google云平台(Google Cloud Platform)发布了一个开源的Zipkin服务器,允许兼容Zipkin的客户端发送跟踪信息到Google自己的Stackdriver Trace分布式跟踪服务中,从而实现分析的功能。Zipkin/Stackdriver Trace集成的目标用户是某些开发人员,他们的应用和服务是使用Stackdriver Trace官方所不支持的语言或框架编写的,或者是某些应用的持有者,这些应用已经通过Zipkin实现了instrument功能,他们还希望访问Stackdriver Trace的高级分析工具。
Google的Stackdriver能够对云平台上的应用提供监控、日志以及诊断服务。尽管任何云平台捕获到的数据都可以发送到Stackdriver API上,但是Stackdriver的功能是与Google云平台(Google Cloud Platform,GCP)(GCP的客户可以免费使用它)中的很多服务高度集成的。Google Stackdriver中包含了多个工具,其中就包括Stackdriver Trace,这是一个分布式的跟踪服务,它是由最初的Google Dapper分布式跟踪系统演化而来。
将分布式(微服务)系统进行instrument操作之后,Stackdriver Trace就允许开发人员跟踪系统的请求流,分析应用的延迟并隔离性能瓶颈。Stackdriver Trace最初关注的是Google App Engine项目,但是现在支持运行在虚拟机或容器上的应用,这是通过为Node.js、Java和Go(很快就会支持Ruby和.Net)提供instrumentation库实现的,它还可以通过API来实现该功能。
另外一个流行的分布式跟踪系统是Zipkin,它最初是由Twitter创建的,灵感起源于Dapper的论文。这项成果在2012年开源,随后发展成为社区驱动的Open Zipkin项目。它反过来又推动了Open Tracing API的形成,这是一个由CNCF支持的项目。Zipkin提供了一系列的instrumentation库,这些库能够捕获应用的trace,另外还有一个后端系统用来存储trace并支持通过Web界面展现trace信息。目前,已经有针对Java、.Net、Node.js、Python、Ruby和Go的Zipkin客户端,还有与各种流行Web框架的内置集成。根据GCP博客的说法,Zipkin得到了广泛的应用,Twitter、Yelp和Salesforce是该项目的主要贡献者。
Google云平台的博客文章指出,这个新的Stackdriver Trace Zipkin连接器是已有Zipkin后端的替代方案,它会继续使用相同的兼容Zipkin的跟踪器,这样的话,就没有必要再去配置、管理或维护Zipkin后端了。另外,新的收集器能够与使用Zipkin跟踪器实现instrument功能的服务协同运行。
目前的Stackdriver-Zipkin v0.2.0发布版本有几个已知的限制:
Google Stackdriver Trace Zipkin收集器的代码可以通过GoogleCloudPlatform GitHub仓库进行下载。配置以及从分布式跟踪器收集trace数据的指令可以在“组合使用Stackdriver Trace与Zipkin”指南中找到。
查看英文原文: Google Release Zipkin Integration with Stackdriver Trace for Tracing Distributed Applications