如何在 glassfish 上部署应用程序而不导致服务崩溃?
我有一个应用程序需要很长时间才能部署/重新部署,因为它使用 EJB3、JPA2、JSF、Icefaces
该应用程序部署在亚马逊 Web 服务中的 ec2 上的 glassfish 3 上。每次我重新部署应用程序,在重新部署应用程序时,该服务都不可用。
如何重新部署现有应用程序并且在重新部署完成之前服务仍然可用?
提前致谢
I have an app that take long time to deploy/redeploy because this use EJB3, JPA2, JSF, Icefaces
The app is deployed on glassfish 3 on ec2 in amazon web services. Each i redeploy the app, while is redeploying the app, the service isn't available.
How can i redeploy an existing application and still the service available, until the redeploy finish?
thanks in advance
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
根据您的架构,在重新部署时您总是会丢失服务几秒钟。
构建此架构的正确方法是在集群中设置的 2 个或更多 glassfish 服务器实例前面放置一个软件负载平衡器。负载均衡器将自动将所有请求路由到保存较旧可用服务的服务器。一旦新服务启动并运行,它将再次将请求路由到那里。在 apache 中使用 mod_jk 作为负载均衡器效果很好。
Depending on your architecture, you will always lose the service for a few seconds whilst you redeploy.
The proper way to architect this would be to have a software load balancer sitting in front of 2 or more glassfish server instances which are set in a cluster. The load balancer will automatically route all requests to the server holding the older available service. Once the new service is up and running, it will route requests there again. Using mod_jk inside apache works well as the load balancer.