小弟,请教大家一个问题 Java web 项目 大家是怎么做到 服务器热更新的?

2018-08-07 10:33:19 +08:00
 zzf2017

最近开发了 java web 的项目 ,把代码 打成 war 包 放到服务器上,但是 我发现每次都要删除旧 war 包,添加新 war 包才能 发布新的版本,问问各位大佬,java 有没有什么 热更新技术?

11882 次点击
所在节点    Java
64 条回复
zzf2017
2018-08-07 10:39:01 +08:00
自己顶一顶
huiyadanli
2018-08-07 10:40:43 +08:00
灰度发布?
FanError
2018-08-07 10:43:25 +08:00
nginx 放在前端,upstream 2 个 tomcat
停掉一个,更新,启动,
再停到另一个,更新,启动。
ioth
2018-08-07 10:44:48 +08:00
一个项目一个 war
恐怖
guixiexiezou
2018-08-07 10:45:10 +08:00
spring loaded 了解下( java agent 的具体应用)
或者 java agent 了解下
亦或者 classloader 类加载机制了解下, 这两种都可以实现热更新功能。
如果想体验强大的功能,JLabel 可以试试
jiangjz
2018-08-07 10:46:52 +08:00
Jenkins 了解一下
momocraft
2018-08-07 11:18:14 +08:00
两个容器,半夜偷偷换掉一个,再换掉一个
nongmei
2018-08-07 11:24:29 +08:00
整两台服务器,外边放个 nginx 做负载均衡
xiaoyangsa
2018-08-07 11:25:38 +08:00
现在用的 3 楼做法,关注下看看有没啥黑科技
sunchen
2018-08-07 11:26:43 +08:00
动态代理
mortonnex
2018-08-07 11:28:50 +08:00
@guixiexiezou JRebel
zzf2017
2018-08-07 11:37:11 +08:00
@FanError 原来大家都是用两个容器,轮流来发布吗,这也是思路,但是这个具体是怎么做的呢,烦请告知下
huhu3312
2018-08-07 11:40:40 +08:00
@zzf2017 百度一下 漫画 蓝绿部署。这种应该是蓝绿部署,说错了大佬们别打我
wxsm
2018-08-07 11:43:10 +08:00
oracle weblogic
lihongjie0209
2018-08-07 11:57:21 +08:00
热更新不懂, 但是你可以用 expand war + rsync 来增量更新, 可以使更新时间大大缩短.
yanaraika
2018-08-07 12:21:25 +08:00
复杂一点的话 k8s
derrickT
2018-08-07 12:21:46 +08:00
灰度发布
x7395759
2018-08-07 12:53:18 +08:00
灰度发布吧,没必要上热更新,不可控总感觉。
wanghui
2018-08-07 13:30:41 +08:00
没明白楼主的真实诉求是什么,你到底要热部署,还是要自动化部署?
mritd
2018-08-07 13:38:59 +08:00
从理论上来说,线上不应该做 java 的热部署(class 扫描,动态加载); 你应当实现的是自动化部署,比如简单点上面说的 nginx 负载,复杂点上 k8s 容器集群

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/477509

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX