论坛首页 Java版 企业应用

如何为行驶中的汽车换轮子?

浏览 6624 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
时间:2008-05-30
MS的CLR能实现前进中换轮子:

1. 强签名以区分assembly的版本.
2. AppDomain隔离运行区.

具体实现是SmartClient,未见到在服务器上实现.
   
0 请登录后投票
时间:2008-05-30
一般的小动作还是可以,但一旦涉及数据库就不可能了,
印象比较深的是,今年2月份时,招商银行升级系统,网上银行和柜员机停机3天,
我想没有哪家银行会愿意停机的吧
   
0 请登录后投票
时间:2008-05-30
其实只要设计好ClassLoader加载机制,是可以实现的。

可以参考OSGI的实现,为功能模块定义自己的ModuleClassLoader+HotswapClassLoader
   
0 请登录后投票
时间:2008-05-30
reno_k 写道
一般的小动作还是可以,但一旦涉及数据库就不可能了,
印象比较深的是,今年2月份时,招商银行升级系统,网上银行和柜员机停机3天,
我想没有哪家银行会愿意停机的吧



基于SP的系统比基于app server似乎更容易更换模块
   
0 请登录后投票
时间:2008-05-30
robbin 写道

上面提到的数据库发生改动,其实一般生产系统如果发生数据库改动,只允许增加字段,不允许修改现有字段,最多让表里面多几列冗余字段,我想不会影响现有系统的运行。

这会不会导致数据库的设计越来越“脏”?如果系统的最高优先是24小时不间断服务的话,每次这种无缝切换是不是会让整个数据库越来越乱?
数据库切换的时候我觉得应该设计脚本来保证业务逻辑的切换。一般failover是指基础模型(数据、code)不变的情况下单纯为了应付负载而做的。

to LZ:可以让每个模块作为一个JBoss service存在,这样可以实现细粒度的应用热部署。
   
0 请登录后投票
时间:2008-05-30
八个轮子就比较好换了,不需要特技,需要高科技。

||    ||
|      |


里面的轮子备用,外面的轮子出现问题时,由汽车系统自动切换里面和外面轮轴的高度,变成这样:

||    ||
 |    |
   
8 请登录后投票
时间:2008-05-30
空中加油都能实现的,
这个换轮子只是技术问题,
迟早会出来的。
   
0 请登录后投票
时间:2008-05-30
daquan198163 写道
应用上线后,难免要对其进行修改,如增加功能模块、发布新版本、修改配置参数等等
可是以现有的JavaEE技术,无法做到在不停机的情况下完成这些修改动作
JBoss的热部署也仅仅是对整个应用来说的,它无法实现对某个模块的“热替换”
再加上个平台的类加载机制不同,就更增加了这个问题的复杂性

OSGI似乎可以解决这类问题,但问题是OSGI还很少做服务器端软件,
那么在集群、并发的情况下,OSGI能否继续胜任就要打个问号了

不知各位有何高见?

呵呵,我的框架基本上可以满足这一点......
   
0 请登录后投票
时间:2008-05-30
vicksong 写道
daquan198163 写道
应用上线后,难免要对其进行修改,如增加功能模块、发布新版本、修改配置参数等等
可是以现有的JavaEE技术,无法做到在不停机的情况下完成这些修改动作
JBoss的热部署也仅仅是对整个应用来说的,它无法实现对某个模块的“热替换”
再加上个平台的类加载机制不同,就更增加了这个问题的复杂性

OSGI似乎可以解决这类问题,但问题是OSGI还很少做服务器端软件,
那么在集群、并发的情况下,OSGI能否继续胜任就要打个问号了

不知各位有何高见?

呵呵,我的框架基本上可以满足这一点......

别光馋我们,拿出来分享啊
   
0 请登录后投票
时间:2008-05-30
sorphi 写道
八个轮子就比较好换了,不需要特技,需要高科技。

||    ||
|      |


里面的轮子备用,外面的轮子出现问题时,由汽车系统自动切换里面和外面轮轴的高度,变成这样:

||    ||
 |    |




设计真的很精妙,能再给实现个类似的软件架构么。
   
0 请登录后投票
论坛首页 Java版 企业应用

跳转论坛:
JavaEye推荐