我在软件部署方面遇到了问题。我们正在使用JBoss 4.2.3。
请让我解释一下我现在正在进行的典型手动部署过程:
我一直在寻找避免服务器重启的方法。因为它造成了很多问题和很多不便。例如,我必须将电子邮件发送到一个大清单,以便安排服务器停机。
另一个问题是,我们有2台服务器通过SOAP远程通信,如果一台服务器出现故障,可能会导致一些数据同步问题。
热门部署并不适合我。有时我会遇到类加载器异常,有时会缓存问题。
我正在考虑群集,但不太确定它是否会起作用。
有没有人有类似的经历?任何解决方案或建议?
非常感谢提前。
P.S。我应该在serverfault而不是stackoverflow上发布这个吗? (我更喜欢这里,因为我是开发人员:)。
答案 0 :(得分:3)
如果热部署对您不起作用,并且重启不是一个选项,那么我可以建议的另一件事就是使用故障转移进行集群 - 运行两个服务器而不是一个服务器,SOAP请求在它们之间进行负载均衡两个。当您需要执行升级时,关闭一台服务器,升级,启动它,关闭第二台服务器,升级它,然后重新启动它。
如果你做对了(这很棘手但可行),那么你没有停机时间。您必须确保服务器在滚动升级期间可以共存,并确保您的数据库升级向后兼容,但这一切都可以实现。