arthas

arthas

Arthas原理:Arthas的命令分类及原理

Arthas原理:Arthas的命令分类及原理

在[Arthas原理:理解ClassLoader](//yeas.fun/archives/arthas-classloader)一文中,我们首先介绍了代码隔离的概念,并讲解了代码隔离的基础:ClassLoader; 在[Arthas原理:如何做到与应用代码隔离?](//yeas.fun/archives/arthas-isolation)一文中,我们介绍了利用ClassLoader实现代码隔离的原理,并讲解了Arthas与应用之间的代码在代码隔离的基础上如何进行代码互调的。

2022-02-26
8,976 3
Arthas原理:如何做到与应用代码隔离?

Arthas原理:如何做到与应用代码隔离?

代码隔离,也就是arthas所保证的:对业务代码无侵入,目标应用无需重启也无需感知arthas的存在。 那首先我们来讲下:arthas为什么要进行代码隔离? 我们都知道arthas是一个开源框架,它是在应用正在运行的时候,打通应用与arthas的连接通路。这就对arthas提出一个需求:arthas不能影响应用运行的代码,不能因为arthas的连接而导致业务逻辑的运行不正常。 同样的,应用里面的代码也不能影响arthas的正常工作。即:arthas的代码要和应用代码进行隔离,从机制上保证双方的互不干扰。

2022-01-30
11,735 5
Arthas原理:理解ClassLoader

Arthas原理:理解ClassLoader

阿里的arthas一经推出就大受好评,主要原因就是它提供了一套线上问题的解决方案,比如可以在线查看服务器状态;可以支持热更新,原理类似我们之前所讲的[JAVA热更新1:Agent方式热更](//yeas.fun/archives/hotswap-agent) ; 它还可以支持对线上的代码跟踪执行情况,打印执行参数和返回参数等功能。功能那是异常强大,关键的一点是它对应用是无侵入的,也就是不影响到目标应用的业务逻辑。