Sam*_*Sam 4 java deployment jboss cluster-computing
我有一个带有2个节点的JBoss AS7集群。我希望以零停机时间“更新”我的应用程序。[此应用尚未在生产中部署,尚处于开发阶段]
就我而言,在某些情况下,我需要进行计划外的部署。这种情况可能会在某些基础逻辑更改中发生[可能会在一两年中发生一次,在所有此类情况下,都不会进行会话结构更新,数据库结构也会发生更改等。]
以下是我计划中实现此目的的配置/步骤。
配置:
1.Session Replication is enabled.
2.Load balancing is done with Apache mod_jk.
3.JBoss AS 7.1 in standalone mode.
Run Code Online (Sandbox Code Playgroud)
脚步:
1. Take out node1 from the cluster.
2. Deploy new war file in node1.
3. Attach node1 in cluster.
4. Take out node2 from the cluster.
5. Deploy new war file in node2
6. Attach node2 in cluster.
Run Code Online (Sandbox Code Playgroud)
步骤3和步骤4之间的时间差可能会导致不一致,因为两个版本的应用程序将同时启动并运行。
实现零停机时间还有哪些其他选择?
[这是一个基于Spring的Web应用程序]
谢谢。
零停机时间部署有两种典型的方法。
这个想法是有两个版本的生产环境。然后,您可以将路由器切换到新环境。或者,您可以将DNS更改为指向新IP / CNAME(AWS Beanstalk使用这种方式)或IP交换(Azure云服务使用这种方式)。
这种方法首先在生产服务器的子网中推出新版本,并在您愿意时将其路由到所有用户。
至于您的情况,更像是CanaryRelease,您同时拥有两个版本。如果应用程序版本的一致性对您很重要,那么蓝绿色部署将是您的选择。您可以取出node2并同时附加node1,以便它实际切换版本。
归档时间: |
|
查看次数: |
2185 次 |
最近记录: |