可观测性与OpenTelemetry:历史、概念与发展
1. 可观测性概述
可观测性这一术语在软件行业出现的时间并不长,但它所代表的概念和目标却早已存在。自计算机诞生之初,程序员们就一直在探寻一个问题:系统是否在按照预期运行?
对于一些人来说,可观测性意味着购买一个包含日志、指标和追踪的通用解决方案,配置一些现成的集成,然后宣告完成。这些工具可通过提供生成和收集遥测数据的机制,增强对软件行为的可见性。以下是一些可添加到系统中的遥测数据示例:
- 记录接收到的请求数量
- 事件发生时添加日志条目
- 记录机器当前的内存使用值
- 追踪从客户端到后端服务的请求
然而,生成高质量的遥测数据只是可观测性挑战的一部分。另一部分是确保在分析过程中,不同类型遥测数据中发生的事件能够以有意义的方式关联起来。可观测性的目标是回答你可能对系统提出的问题,例如:
- 如果生产环境中出现问题,你有哪些证据来识别它?
- 为什么这个服务一分钟前还正常,现在突然不堪重负?
- 如果客户端的特定条件触发了某个底层服务的异常,在没有客户或支持人员联系你的情况下,你会知道吗?
2. 云原生应用的理解
随着互联网的普及,应用程序的构建和部署方式在过去几年发生了巨大变化。软件驱动的服务(如流媒体、社交网络和在线购物)需求空前增长,这使得人们对这些服务的可用性有了更高的期望。此外,这种需求的增长促使开发人员能够快速扩展他们的应用程序。
微软、谷歌和亚马逊等云提供商提供了基础设施,只需点击一下按钮,就能以较低的成本运行应用程序,并降低在传统数据中心部署服务器的风险。这使开发人员能够更自由地
超级会员免费看
订阅专栏 解锁全文
34

被折叠的 条评论
为什么被折叠?



