Jump to section

什么是 Jaeger?

复制 URL

Jaeger 是用于追踪分布式服务之间事务的开源软件。它用来监控复杂的微服务环境并对其进行故障排除。

作为一个开源项目,一个由数百个贡献者组成的社区不断改进完善着 Jaeger。Jaeger 基于与供应商无关的 OpenTracing API 和工具。

共享出行公司 Uber 在 2015 年开发了开源项目 Jaeger。2017 年,Jaeger 纳入云原生计算基金会(CNCF)的孵化项目,2019 年,Jaeger 正式毕业。

Jaeger 将执行请求显示为一条条迹线(trace)。迹线代表系统中的数据/执行路径。 

一个迹线包含一个或多个跨度(span)。跨度是 Jaeger 中作业的逻辑单元。每个跨度都由作业名称、开始时间和持续时间组成。跨度可以进行嵌套和排序。

Jaeger 内含多个组件,这些组件可以协同工作,一起收集、存储和可视化跨度与迹线。

Jaeger 客户端包括含用于分布式跟踪的 OpenTracing API 的特定语言实施。您可以手动使用这些实施,也可以将其与各种开源框架一起使用。

Jaeger 代理是一个网络守护进程,可侦听通过用户数据报协议发送的跨度。该代理应与所检测的应用放置在同一主机上。这通常是通过 Kubernetes 等容器环境中的 sidecar 实现的。

Jaeger 收集器可接收跨度并将它们放在队列中等待处理。

收集器需要持久的存储后端,因此 Jaeger 还具有可插拔的跨度存储机制。 

查询是一项从存储中检索迹线的服务。

Jaeger 控制台是用于直观查看分布式跟踪数据的用户界面。

Jaeger 是作为红帽® OpenShift® 服务网格的默认组件安装的,后者包括 Istio(一个开源服务网格)的实施。

这种分布式跟踪实施方案具有很多好处。Jaeger 可与 Kiali(Istio 的一个可观测性控制台)集成。Jaeger 后端支持根据业务需要大规模扩容,没有单点故障。Jaeger 可连接来自不同组件的数据,实现完整的端到端跟踪。Jaeger 还提供与 Zipkin 的向后兼容性。

继续阅读

文章

微服务如何支持医疗行业的 IT 集成

微服务让医疗行业和其他行业的开发人员能够创建由松散耦合的服务构成的应用,从而更加轻松地进行开发、测试、部署和升级。

文章

什么是微服务?

微服务是一种用于构建应用的架构方案,可使应用的各个部分既能独立工作,又能协同配合。

文章

什么是服务网格?

服务网格是一个内置于应用程序中的基础架构层,它会记录服务的交互方式,从而更轻松地优化通信并避免停机。