【AICon】探索RAG 技术在实际应用中遇到的挑战及应对策略!AICon精华内容已上线73%>>> 了解详情
写点什么

Google 发布 Zipkin 与 Stackdriver Trace 的集成功能,实现分布式应用的跟踪

  • 2017-01-18
  • 本文字数:1478 字

    阅读完需:约 5 分钟

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 发布版本有几个已知的限制:

  1. Zipkin 跟踪器必须要支持正确的 Zipkin 时间和持续时长语义
  2. Zipkin 跟踪器和 Stackdriver Trace instrumentation 库不能向同一条 trace 记录上附加 span,因为它们会对服务间传播的跟踪上下文采用不同的格式。这意味着某个库捕获的 trace 中不能包含其他类型的库 instrument 服务后所形成的 span,也就是说,如何服务代码混合使用了 Stackdriver Trace 和 Zipkin 的 instrument 功能,那么跨越这些服务所形成的跟踪信息必须要在标准的 Stackdriver 报告系统之外进行集成;
  3. 最初的释放版本只支持对 Zipkin 服务器进行写操作,Google 云平台的博客上指出,如果缺乏读取功能成为了一种阻碍的话,那么开发人员可以在 GitHub 上提交 issue 或 pullrequest。

Google Stackdriver Trace Zipkin 收集器的代码可以通过 GoogleCloudPlatform GitHub 仓库进行下载。配置以及从分布式跟踪器收集 trace 数据的指令可以在“组合使用Stackdriver Trace 与Zipkin ”指南中找到。

查看英文原文 Google Release Zipkin Integration with Stackdriver Trace for Tracing Distributed Applications

2017-01-18 18:002551

评论

发布
暂无评论
发现更多内容

MySQL的锁

一个大红包

3月日更

设计有意义的选择——再谈心流

Justin

心理学 28天写作 游戏设计

《2020年IT行业项目管理调查报告》重磅发布

禅道项目管理

开源 项目管理 项目 调查报告 互联网行业薪资

Continue 玩转像素点,Python 图像处理学习的第 3 天

梦想橡皮擦

28天写作 3月日更

IPFS云矿机系统开发|IPFS云矿机APP软件开发

系统开发

uniapp实现音视频通讯

anyRTC开发者

uni-app 音视频 WebRTC 跨平台 sdk

Python 打印回车换行

HoneyMoose

看完了进程同步与互斥机制,我终于彻底理解了 PV 操作

飞天小牛肉

Java 程序员 面试 操作系统

小树系统开发案例(源码)丨小树机器人系统开发流程

系统开发咨询1357O98O718

「 视频云大赛 — 大咖驾到 」下一代技术新浪潮,正由视频云驱动

阿里云视频云

阿里云 音视频 intel

万物摩尔定律

soolaugust

AI

干货 | 万字详解整个数据仓库设计体系

五分钟学大数据

大数据 数据仓库 28天写作 3月日更

Python基础之:Python的数据结构

程序那些事

Python 程序那些事 python数据结构

2021 OS 大赛来了,为中国操作系统发展按下加速键

InfoQ写作社区官方

热门活动

企业大数据实战:Kyuubi 与 Spark ThriftServer 的全面对比分析

网易数帆

大数据 spark Kyuubi Thrift HiveServer2

【实战问题】-- 并发的时候分布式锁setnx细节

秦怀杂货店

Java 分布式 高并发

Nirvana NA公链 NAC公链的两面观

区块链第一资讯

百度大脑开放日重庆站-智能物流专场报名啦

百度大脑

百度大脑 智能物流 智能物流开放日 重庆站

Python if __name__ == ‘main’ 的作用介绍

HoneyMoose

超简单的网站暗黑模式,它真的超简单!

HelloGitHub

大前端

高频量化交易系统开发功能丨量化交易机器人系统开发详情

系统开发咨询1357O98O718

马特机器人系统开发(成品案例,快速上线)

系统开发咨询1357O98O718

华为云应用服务网格最佳实践之从Spring Cloud 到 Istio

华为云开发者联盟

微服务 Spring Cloud istio 华为云 服务网格

全球币系统开发案例(源码)

系统开发咨询1357O98O718

「SaaS第一股」微盟集团财报业绩大涨,超预期财报揭示多元投资布局

ToB行业头条

SaaS 微盟

fil挖矿系统开发|fil挖矿系统软件APP开发

系统开发

uni-app跨端开发H5、小程序、IOS、Android(三):理解uni-app框架MVVM思想

黑马腾云

微信小程序 uni-app android iOS Developer 3月日更

JVM - 类加载机制

insight

3月日更

@Component,@Service等注解是如何被解析的?

Java小咖秀

spring 面试 工作 注解 经验

华为云数据库GaussDB(for openGauss):初次见面,认识一下

华为云开发者联盟

数据库 分布式 华为云 GaussDB(for openGauss) 开源数据库

共筑“新基建” 京东云全面开启渠道合作伙伴招募计划

京东科技开发者

云服务

Google发布Zipkin与Stackdriver Trace的集成功能,实现分布式应用的跟踪_Google_Daniel Bryant_InfoQ精选文章