java的热部署/热更新(1)背景

什么是热部署

所谓热部署,就是在应用正在运行时升级软件,却不需要重新启动应用。 对于Java应用程序来说,热部署就是在运行时更新Java类文件,同时触发Spring以及其他常用第三方框架的一系列重新加载的过程。

为什么需要热部署

现阶段,线上集群的发布采取1.虚拟机/物理机器更新代码的方式,2.docker/k8s环境更新pod的镜像。优点显而易见,一致性好,可靠性高。但是热部署也有自己的优势:

  • 快速发布/快速回滚。提高开发和运维人效。
  • 减少系统初始化对其他系统的压力:设想一个启动化加载成本特别大的应用,频繁的启停会造成系统的整体波动。
  • 同一台机器上的多版本共存。

热部署的行业方案

相关推荐
进阶的架构师4 分钟前
互联网Java工程师面试题及答案整理(2024年最新版)
java·开发语言
黄俊懿4 分钟前
【深入理解SpringCloud微服务】手写实现各种限流算法——固定时间窗、滑动时间窗、令牌桶算法、漏桶算法
java·后端·算法·spring cloud·微服务·架构
易辰君6 分钟前
python爬虫 - 深入requests模块
开发语言·爬虫·python
木子020413 分钟前
java高并发场景RabbitMQ的使用
java·开发语言
无夜_13 分钟前
Prototype(原型模式)
开发语言·c++
看到请催我学习14 分钟前
内存缓存和硬盘缓存
开发语言·前端·javascript·vue.js·缓存·ecmascript
夜雨翦春韭24 分钟前
【代码随想录Day29】贪心算法Part03
java·数据结构·算法·leetcode·贪心算法
大霞上仙1 小时前
jmeter学习(1)线程组与发送请求
java·学习·jmeter
笃励1 小时前
Java面试题二
java·开发语言·python
jyan_敬言1 小时前
【Linux】Linux命令与操作详解(一)文件管理(文件命令)、用户与用户组管理(创建、删除用户/组)
linux·运维·服务器·c语言·开发语言·汇编·c++