锁定老帖子 主题:web程序在线更新实现
精华帖 (11) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2010-02-22
做产品的,对这方面需求很强烈,你的思路对我们有很大帮助。
|
|
返回顶楼 | |
发表时间:2010-02-22
想要不影响用户使用同时更新服务器
可以启动多个服务,更新时候,先更新文件, 然后一个服务一个服务的重启,这样就不影响用户使用 而且完成了更新,前提是数据库结构不发生重要变化 |
|
返回顶楼 | |
发表时间:2010-02-22
我们的产品也有同样的需求,还没做呢
我现在的想法是,给用户提供一个产品管理平台,可以由用户控制升级的方式(自动,半自动。。。)、进程,这样用户心里觉得更安心一些的。 |
|
返回顶楼 | |
发表时间:2010-02-22
我选择的是尽量避免在用户感知的情况下去更新,如果能做到这一步将是一大进步,所以能选择使用服务器更新的就用服务器更新,不能的才选择使用另外一个更新程序,在这个过程中要尽量缩短服务器停用的时间,所以,如果更新的程序文件不是很大,那么一般更新过程也就是几秒的问题(主要是文件覆盖和文件添加),可能在启动和停止服务的时间较长,如果采用服务的模式这个过程也将被缩短。所以,如果再选择在凌晨更新,这个时候通常使用的人应该是最少的时候,影响也相对的减小。
如果提供主动更新也是可以的,但是如果用户选择在用户使用高峰期进行更新,影响将会很大,因为如果程序不能自动更新,对有的人来说你要他在公司等到凌晨来更新,相信乐意的人不多。 |
|
返回顶楼 | |
发表时间:2010-02-22
在客户端安装Cruisecontrol和svn客户端或者cvs客户端与版本库进行配置,通过ant脚本加上windows命令或shell脚本进行程序更新呢,客户端的Cruisecontrol可以配置手工执行或者自动执行,进行程序重新部署,自己写程序多麻烦,当然你版本库的安全性设置好,如果还觉得不安全 建议研读Cruisecontrol代码 抽取有用的进行重新编写,也比楼主这样简单方便。
|
|
返回顶楼 | |
发表时间:2010-02-22
kafei819000 写道 在客户端安装Cruisecontrol和svn客户端或者cvs客户端与版本库进行配置,通过ant脚本加上windows命令或shell脚本进行程序更新呢,客户端的Cruisecontrol可以配置手工执行或者自动执行,进行程序重新部署,自己写程序多麻烦,当然你版本库的安全性设置好,如果还觉得不安全 建议研读Cruisecontrol代码 抽取有用的进行重新编写,也比楼主这样简单方便。
你说的我不知道能不能满足我的需求,因为我还没有使用过Cruisecontrol。 |
|
返回顶楼 | |
发表时间:2010-02-22
UP楼主一下,楼主提出了一个很实用的设想,抛出一个有趣的命题。
我上一家公司在规划一套企业内部的“云”计算平台(大家莫笑),虽然概念有吹嘘之嫌疑,但也提出了一个正对“虚拟服务资源”(硬盘、JVM/CPU 、数据库/DataSource)的一体化管理分配方案,就是楼主的设想的进一步演进。 这个论题大家可以各抒己见一下啊 |
|
返回顶楼 | |
发表时间:2010-02-22
做产品的,都应该有这个方面的需求了,支持下!
|
|
返回顶楼 | |
发表时间:2010-02-22
我所写的就是依据公司产品的需求来实现的,目前已经在使用,没什么新技术,就是个实现思路问题。相信如果是将web系统以产品形式进行发布的话,都应该有这方面的需求,至于现实方式应该也是多样化的,但是既然是产品,那么每次升级都应该是一个相对将稳定的版本,同时也不可能时常的进行产品更新,这样太影响用户使用,所以,如果想以持续集成的方式来进行升级显然是不现实的。
|
|
返回顶楼 | |
发表时间:2010-02-24
产品的架构也是不得不考虑的一个因素,比如jmx,osgi
|
|
返回顶楼 | |