有什么好办法能在用户感觉不到的情况下把咱的WEB系统升级了呢?

时间:2021-04-07 14:45:00
        现在项目部署在tomcat上,一旦代码或者xml文件修改就要重启tomcat,又是通知用户要重启的,又是赔礼道歉的,非常麻烦,有什么办法可以解决这个问题啊?

        我有一个想法:前边用一个代理服务器,分配两个tomcat节点A和B,让所有用户都访问A,一旦程序修改就放在B上,让所有新登录系统的用户访问B。那些已经登录A节点正在访问的用户先不管他,一旦他们退出系统再登录的时候就变成B了,不知道什么代理服务器能够这样配置,且不重启就能生效。

        本菜鸟才疏学浅见识短,求见过世面的大神给支招。

7 个解决方案

#1


有什么好办法能在用户感觉不到的情况下把咱的WEB系统升级了呢? 顶一下,路过,也要学习~~

#2


有人知道吗?快来大神

#3


都说CSDN大侠多,怎么一个也没有,大牛们看不到吗?自己顶!

#4


重启很正常啊,你们公司没有固定时间更新的么? 除非重大bug,不然谁去轻易重启服务器tomcat? 

比如一般重启更新项目都是夜间,因为用户访问少, 第二个,对于频繁需要更新的,设定固定时间,比如周二周四是固定更新重启的日子

#5


如果按楼主想法:apache 和nginx 都可以帮助到你  反向代理 
具体配置网上都可以查到 tomcat集群配置也是
另外tomcat也有热部署  也有一些第三方部署软件   可以查查相关资料   
举例:
nginx做反向代理,客户访问统一一个ip端口进行使用项目   如   192.169.1.10:80   

并配置了两个tomcat1(192.169.1.11:端口随意不重复即可)  tomcat2(192.169.1.12:端口随意不重复即可)来进行集群 

nginx会根据你配置的权重优先访问你所配置的tomcat容器中,当一个tomcat挂掉会自动转换另一个tomcat

另外配置集群也需要把项目中一些插件框架也需要集群配置 
如调度框架  quartz


需要一台一台升级重启。。。

#6


理论上是当切换时,是把在A上的所有客户的状态同步到B上,load balancing系统应该可以做到

#7


引用 5 楼 sd4000784 的回复:
如果按楼主想法:apache 和nginx 都可以帮助到你  反向代理 
具体配置网上都可以查到 tomcat集群配置也是
另外tomcat也有热部署  也有一些第三方部署软件   可以查查相关资料   
举例:
nginx做反向代理,客户访问统一一个ip端口进行使用项目   如   192.169.1.10:80   

并配置了两个tomcat1(192.169.1.11:端口随意不重复即可)  tomcat2(192.169.1.12:端口随意不重复即可)来进行集群 

nginx会根据你配置的权重优先访问你所配置的tomcat容器中,当一个tomcat挂掉会自动转换另一个tomcat

另外配置集群也需要把项目中一些插件框架也需要集群配置 
如调度框架  quartz


需要一台一台升级重启。。。



这个不大行啊,我有同事用过,该配置要重启的,一重启那些正在使用着的用户的数据就没了。。

#1


有什么好办法能在用户感觉不到的情况下把咱的WEB系统升级了呢? 顶一下,路过,也要学习~~

#2


有人知道吗?快来大神

#3


都说CSDN大侠多,怎么一个也没有,大牛们看不到吗?自己顶!

#4


重启很正常啊,你们公司没有固定时间更新的么? 除非重大bug,不然谁去轻易重启服务器tomcat? 

比如一般重启更新项目都是夜间,因为用户访问少, 第二个,对于频繁需要更新的,设定固定时间,比如周二周四是固定更新重启的日子

#5


如果按楼主想法:apache 和nginx 都可以帮助到你  反向代理 
具体配置网上都可以查到 tomcat集群配置也是
另外tomcat也有热部署  也有一些第三方部署软件   可以查查相关资料   
举例:
nginx做反向代理,客户访问统一一个ip端口进行使用项目   如   192.169.1.10:80   

并配置了两个tomcat1(192.169.1.11:端口随意不重复即可)  tomcat2(192.169.1.12:端口随意不重复即可)来进行集群 

nginx会根据你配置的权重优先访问你所配置的tomcat容器中,当一个tomcat挂掉会自动转换另一个tomcat

另外配置集群也需要把项目中一些插件框架也需要集群配置 
如调度框架  quartz


需要一台一台升级重启。。。

#6


理论上是当切换时,是把在A上的所有客户的状态同步到B上,load balancing系统应该可以做到

#7


引用 5 楼 sd4000784 的回复:
如果按楼主想法:apache 和nginx 都可以帮助到你  反向代理 
具体配置网上都可以查到 tomcat集群配置也是
另外tomcat也有热部署  也有一些第三方部署软件   可以查查相关资料   
举例:
nginx做反向代理,客户访问统一一个ip端口进行使用项目   如   192.169.1.10:80   

并配置了两个tomcat1(192.169.1.11:端口随意不重复即可)  tomcat2(192.169.1.12:端口随意不重复即可)来进行集群 

nginx会根据你配置的权重优先访问你所配置的tomcat容器中,当一个tomcat挂掉会自动转换另一个tomcat

另外配置集群也需要把项目中一些插件框架也需要集群配置 
如调度框架  quartz


需要一台一台升级重启。。。



这个不大行啊,我有同事用过,该配置要重启的,一重启那些正在使用着的用户的数据就没了。。