热部署和热加载

2018-8-22
今天入职第二天,看到老大在群里发了一个go热加载实现的链接,之前没有听说过热加载,所以搜索了一下,下面是关于热部署和热加载的相关整理。

引言

在项目线上更新时,可能会遇到需要热部署的情况,虽然现在大多数公司由于业务量大采用了分布式集群,可以分批次的重启更新。但是还是有需要热部署

热部署和热加载的区别

比较热部署热加载
部署方式热部署在服务器运行时重新部署项目热加载在运行时重新加载class
实现原理热部署直接重新加载整个应用热加载在运行时重新加载class
使用场景热部署更多的是在生产环境使用热加载则更多的实在开发环境使用(节省开发的时间和调试的时间)
安全性热加载几乎没有
操作前后变化会清空session ,释放内存不清空session ,不释放内存。要考虑内存溢出的情况

热加载:依赖类的加载机制,在容器启动的时候后台会启动一个线程,定时间的检测类时间戳的变化,如果累的时间戳发生了变化,就将类重新带入,侧重的是运行时通过重新加载改变类的信息,直接改变程序的行为。

热部署

就是已经运行了项目,更改之后,不需要重新tomcat,但是会清空内存,重新打包,重新解压war包运行

可能好处是一个tomcat多个项目,不必因为tomcat停止而停止其他的项目

热加载

是基于字节码进行更改的,不释放内存,开发可用,上线不可用,比如修改类了,原先的类内存不会释放,新的类还会增加内存。

更改字节码的意思是应该更改exploded war包中的.class文件.

热加载不重启tomcat,不重新打包

更新静态资源

更新静态资源是更改exploded war的静态资源,和热加载归到一起。

参考

  1. 热部署和热加载
  2. 热部署和热加载的区别
  3. 热部署与热加载的配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

flybirding10011

谢谢支持啊999

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值