开源仪器化:接口、库和框架全解析
1. 传统追踪方法的困境
在软件开发领域,追踪技术,包括分布式追踪,并非新鲜事物。过去几十年间,开发者们以各种形式构建分布式系统,并借助追踪解决方案来理解这些系统。然而,许多此类解决方案存在局限性,它们往往针对性过强,可能针对特定技术栈、语言,依赖特定中间件供应商,或是由已离职工程师维护多年的自研方案。如今,在云服务提供商和其他平台供应商的推动下,这种情况愈发普遍。
有人或许会问:“这有什么问题呢?”毕竟,对很多人来说,这些专有或封闭的解决方案能正常工作,至少为用户提供了一定价值。但实际上,这些方案远比表面看起来脆弱。使用专有仪器化方案的主要问题在于,当需要使软件适应新语言、新方法,或应对规模扩大和业务需求带来的挑战时,开发者往往受制于方案的作者。
例如,IIS 请求追踪要求使用 IIS 作为 Web 服务器/代理,这意味着软件需运行在 Windows Server 上。尽管仍有软件在 Windows Server 上运行并创造巨大商业价值,但该系统如今已不如往昔流行。这种绑定带来的成本可能是有害的,它可能导致监控维护和升级延迟,使软件面临安全漏洞;即便监控平台有了更优方案能提供更好洞察并降低成本,由于被现有仪器化方案束缚,也无法采用;而且,若团队新成员习惯了更先进的工具,可能难以认同现有专有仪器化方案的优势。
2. 传统追踪方法的不足
传统追踪方法在以下几个关键方面存在不足:
- 可移植性差 :如 IIS 请求追踪依赖特定服务器和操作系统,限制了软件的运行环境,不利于系统的迁移和升级。
- 对分布式应用的适应性弱
超级会员免费看
订阅专栏 解锁全文
11

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



