字节码增强技术在监控埋点场景的大规模实践落地及其他行业探索
随着网络科技的飞速发展,业务复杂度及规模也在快速增长,微服务成为主流,微服务可观测性建设的重要性和价值日益凸显,而可观测的前提是微服务指标数据的采集和上报,如何在短时间内实现大规模微服务快速接入监控实现自动埋点上报,是个棘手的问题。 分享概要: 1、监控重点演进史 2、什么是字节码增强技术? 3、监控领域落地实践 4、最佳实践 5、其他应用领域的探讨 何为字节码增强技术? 1)字节码增强技术的应用 - 热修复Log4j2漏洞 我们一直在讲字节码增强技术,那么到底什么是字节码增强技术呢?因为时间原因这里不会跟大家详细深入原理,但希望通过下面这一个节让大家对这个区块链的技术概念能有个相对比较全面的认识。 这里举了一个大家非常熟悉的Log4j2漏洞的例子,正常的业务服务能通过升级迭代来简单的修复这个BUG,但是有一些基础服务,比如说一些开源的Kafka、ES和HBase服务并不能通过简单的升级来解决。 2)Java Agent技术 这里我们先看一下Java Agent是个什么东西?我们知道Class数据最终是被加载到JVM内存里,我们如果要在运行是修改Class数据其实是有2个契机: 在Class文件被加载到JVM之前,对他做修改,将修改后的数据加载到JVM内存中。 针对已经加载到JVM中的数据,在JAVA 7之后的版本,是支持把JVM内存里面的Class数据捞出来修改增强然后再放回去,覆盖之前老的数据,这样能达到一个替换、增强的效果。但是这个方法也有缺点,就是需要大量的资源,所以我们可以考虑使用其他的方法。 (编辑:银川站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |