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

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



