知识卡片
OpenTracing与OpenCensus从对抗到合并为OpenTelemetry
内容
追踪领域产品竞争激烈的一个深层原因是:几乎所有追踪系统都源自Dapper 论文,功能上是”同门师兄弟”没有本质差距,但Dapper只是一篇论文而非有 约束力的规范,没有规定埋点方式、Span上下文数据结构、系统间API接口这些 细节,导致各家实现互不兼容、很难搭配使用。2016年CNCF接纳OpenTracing 为第三个项目,目标是制定一套与平台、厂商、语言都无关的追踪协议规范, 让不同厂商的探针、存储、界面可以自由切换搭配;Zipkin、Jaeger、SkyWalking 等很快跟进支持。但Google(Dapper的提出者)反而站出来反对,联合Microsoft 提出目标类似的OpenCensus——不仅涉及追踪,还纳入了指标度量,并直接以 SDK形式(支持五种语言)提供数据采集的探针和收集器实现,而不只是定规范。 两大阵营(老牌APM厂商 vs Google+Microsoft)的对抗并没有让追踪标准化 的混乱局面平息,反而让水更浑了。转折发生在2019年:OpenTracing和 OpenCensus突然宣布合并,共同发布OpenTelemetry,双方各自冻结原有项目的 发展。OpenTelemetry的野心很大,覆盖追踪+度量规范、多语言SDK、采集系统 参考实现,只缺界面端和指标预警这些直接面向用户的后端功能(留给具体产品 实现,这算是给一众APM厂商留了条活路),日志方面官方表示会放到下一 阶段。这段”竞争标准最终合并”的历程提示:标准化本身也会经历一轮市场 博弈,不是发布规范就能立刻终结混乱。
参考来源
- 位置:《凤凰架构:构建可靠的大型分布式系统》第10章"可观测性"10.2.3节
"追踪规范化"(源文件:_epub-src对应OEBPS/Text/chapter121.xhtml)
- 结论依据:原文说明Dapper只提供思路没有约束力的规范细节,OpenTracing
与OpenCensus两大阵营的对抗,以及2019年双方合并发布OpenTelemetry并
各自冻结原项目发展,直接支撑本卡片结论。
- 原始内容:这种局面只能怪当初Google发表的Dapper只是论文而不是有约束力
的规范标准……2019年,OpenTracing和OpenCensus又忽然宣布握手言和,共同
发布了可观测性的终极解决方案OpenTelemetry,并宣布会各自冻结OpenTracing
和OpenCensus的发展。