
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
云原生编程开发随着互联网的不断发展而被越来越多的程序员应用到了不同的软件编程开发项目之中,而本文我们就通过案例分析来简单了解一下,云原生编程优势分析。
在过去十年左右的时间里,许多工程团队遇到的问题是,当采用传统的、对单体友好的监控架构并尝试将其移植到分布式云原生应用程序上时,将无法再拥有这一切。
您不一定能快速监控,因为将SDK集成到所有微服务中需要时间。此外还需要收集更多数据,因为不仅要处理来自单个应用程序的一些基本指标。相反,你从一堆微服务中获得了大量的日志和指标(不要忘记你的踪迹!)。
以具有成本效益的方式收集所有数据也非常困难。您可能会遇到高额的出口费用,只是为了将数据移动到可以分析的地方,还要支付存储费用。冰川层存储可能很便宜,但当拥有大量需要保留多年的监控数据时,它就会增加。
加快云原生可观测性并降低成本的一种方法是仅收集工具随机选择的一些数据,而不是尝试收集和分析可用的每一个日志、指标和跟踪。但随后您将进行抽样——没有人愿意成为数据抽样者,因为数据抽样意味着可能会由于数据收集和分析不完整而错过重要信息。
如果依赖于分布式应用程序的传统可观测性策略,您终将面临笔者喜欢称之为成本深度权衡的问题。可以快速且廉价地进行观测,或者选择深入观测,但要付出高昂的时间和精力。你不可能拥有一切。
摆脱成本深度的权衡
幸运的是,如果退后一步重新考虑可观测性方法,您会意识到可以进行廉价和深入的观测。
诀窍在于:无需尝试收集和分析每一个可用数据或随机采样,而是通过在源头识别有趣的数据来智能地对其进行采样,然后仅选择该数据以发送到可观测性平台。您还可以将数据转换为细粒度的、可操作的指标,以便在它到达可观测性门户时立即进行分析。
仍然好得令人难以置信,对吧?问题是,基于仪器的监控方法本质上意味着,如果我们试图测量关于代码的关键内容,需要使用外部代码段“包装”其中的一部分,这些代码段将管理监控的逻辑工具。
使逻辑过于复杂,开销就越大。在将来自应用程序的数据发送出去之前,分析得越多,生成的开销对应用程序的总体影响就越大。
这就是为什么传统的监控工具会转向简单的逻辑,比如全部采样,或者随机采样。在不深入细节的情况下,这种限制可以通过eBPF等新兴技术来解除。
结果是您传输、分析和存储的数据要少得多。但由于专注于相关数据,您不必在晚上因想知道您选择的数据是否会可靠地产生您需要的深入见解而睡不着觉。
把针放在大海捞针前
如果你喜欢类比,这里有一个总结了我们在这里讨论的可观测性策略:这类似于在你建立一个干草堆前对每一束干草进行分类,检查里面是否有一根针。
这样就可以尽早抓住针头,而不必等到准备好整个干草堆后才能对其进行分类并尝试拔出针头。针很容易找到,因为它们从一开始就不会被埋在干草堆里。事实上,你根本没有干草堆来处理,因为可以在不关心的干草变成代价高昂的干草堆之前将其丢弃。
云原生可观测性的未来
我认为这种可观测性方法对于任何希望在不支付大量监控和数据存储成本的情况下保持对其系统的可靠可见性的团队来说都是关键。云原生日志、指标和跟踪数据的数量和复杂性只会增加,使得传统的监控和可观测性策略在云原生环境中越来越不可行。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请加danei0707学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。