什么是热部署
所谓热部署,就是在应用正在运行时升级软件,却不需要重新启动应用。 对于Java应用程序来说,热部署就是在运行时更新Java类文件,同时触发Spring以及其他常用第三方框架的一系列重新加载的过程。
为什么需要热部署
现阶段,线上集群的发布采取1.虚拟机/物理机器更新代码的方式,2.docker/k8s环境更新pod的镜像。优点显而易见,一致性好,可靠性高。但是热部署也有自己的优势:
- 快速发布/快速回滚。提高开发和运维人效。
- 减少系统初始化对其他系统的压力:设想一个启动化加载成本特别大的应用,频繁的启停会造成系统的整体波动。
- 同一台机器上的多版本共存。