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

什么是热部署

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

为什么需要热部署

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

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

热部署的行业方案

相关推荐
gelald1 天前
AQS 工具之 CountDownLatch 与 CyclicBarry 学习笔记
java·后端·源码阅读
且去填词1 天前
Go 语言的“反叛”——为什么少即是多?
开发语言·后端·面试·go
知乎的哥廷根数学学派1 天前
基于生成对抗U-Net混合架构的隧道衬砌缺陷地质雷达数据智能反演与成像方法(以模拟信号为例,Pytorch)
开发语言·人工智能·pytorch·python·深度学习·机器学习
better_liang1 天前
每日Java面试场景题知识点之-XXL-JOB分布式任务调度实践
java·spring boot·xxl-job·分布式任务调度·企业级开发
会游泳的石头1 天前
一行注解防死循环:MyBatis 递归深度限制(无需 level 字段)
java·mybatis
q***o3761 天前
Spring Boot环境配置
java·spring boot·后端
oMcLin1 天前
如何在SUSE Linux Enterprise Server 15 SP4上通过配置并优化ZFS存储池,提升文件存储与数据备份的效率?
java·linux·运维
TaiKuLaHa1 天前
Spring Bean的生命周期
java·后端·spring
yeziyfx1 天前
kotlin中 ?:的用法
android·开发语言·kotlin
charlie1145141911 天前
嵌入式的现代C++教程——constexpr与设计技巧
开发语言·c++·笔记·单片机·学习·算法·嵌入式