About Cncf Projects
CNCF Project vs CNCF Member Project 这有什么区别?
Projects
OpenTelemetry
OpenTelemetry 在遇到以下无法解决的问题情况下出现了。
- 应用程序被锁定在特定解决方案的仪表中
- 针对开源软件的特定解决方案的仪表基本上是不可能的
于是需要设计一个可观测的系统来解决以上问题,在设计上需要满足基本的需求[4]:
- 要求:独立的仪表(instrumentation,这个翻译总觉得怪异,)、遥测和分析
- 要求:零依赖性
- 要求:严格的后向兼容和长期支持
概念
信号 signal
不同类型的遥测,我们称之为信号,主要的信号是追踪
OpenTelemetry 是一个跨领域的关注点(cross-cutting concern)
Instrumentation
仪表(在 《OpenTelemetry 可观测性的未来》这样翻译的)
但是,来自谷歌:the particular instruments used in a piece of music / measuring instruments regarded collectively.
OTLP
OpenTelemetry protocol (OTLP), 定义了 Open Telemetry 里 Tracing\Metrics\Logging 的 protobuf 的协议格式。 比如 Tracing
Propagators and Context
Propagators: Used to serialize and deserialize specific parts of telemetry data such as span context and Baggage in Spans.
Traces can extend beyond a single process. This requires context propagation, a mechanism where identifiers for a trace are sent to remote processes.
otel.SetTextMapPropagator(propagation.TraceContext{})
TextMapPropagator
injects values into and extracts values from carries as text.
Carrier
A carrier is the medium used by Propagators to read values from and write values to.
结合 Newrelic Tracing 的实践
OpenTelemetry and Newrelic 结合 , 中间通过 opentelemetry-go 来连接。
也可以通过 opentelemetry-collector (e.g. binary, sidecar, or daemonset). 方式来做。
结合 Alibaba Tracing Analysis(ARMS)的实践
What is Tracing Analysis, 从 Architecture 看是支持 Opentracing Basing SDK
Tracing Analysis is compatible with SDKs from various open source communities and supports the OpenTracing standard.
Apache DolphinScheduler
A distributed and easy-to-extend visual workflow scheduler system, undergoing incubation at ASF.
MegaEase
开源、自主可控、低层本、高可用的 Cloud Native 平台
- 服务编排和服务治理
- 流量调度和流量管理
- 应用服务观测性 & DevOps
- 关键中间件运维及管理
- 基础资源调度
参考
-
OpenTelemetry: Propagators API
-
Ted Young,译者 Jimmy Song: OpenTelemetry可观察性指南
-
Uptrace: OpenTelemetry instrumentations for Go