2015-06-09 270 views
0

我想为生产部署提出一个简单的过程。我有2个tomcat节点,前端是2个apache节点,并在apache节点之上有一个负载均衡器。出于某种原因,我无法在Tomcats上进行并行部署。我正在尝试在部署期间使用balancer-manager,其中我将确保在应用程序更改之前排除tomcat节点1。我希望确保在将节点置于活动状态之前验证tomcat节点上的更改。我知道,在这一点上,我可以从负载平衡器中将apache节点1脱机并更改balancer-manager将请求仅路由到tomcat节点1,并在我上线之前将所有请求都指向Apache节点1进行验证。我认为这是一个复杂的过程,我想知道是否有更好的方法可以实现这一点。只是一个FYI我们在F5的两个Apache节点之间负载均衡请求,我们使用Apache负载平衡两个tomcat节点之间的请求。Apache Tomcat部署与负载平衡器

任何帮助?

回答

0

有三种方式,我所知道的:

  1. 使用服务注册中心/服务发现的工具,像consul.io
  2. 实现一个健康检查到您的应用程序,您可以在运行时控制。 F5将访问健康检查资源并决定该节点是否健康。就在部署之前,您将节点的运行状况状态更改为不健康,几秒后将从负载平衡中删除该节点。
  3. 使用红色/蓝色部署:这意味着,每个主机携带两个tomcat(红色和蓝色的tomcat)。你的Apache指向红色或蓝色。通过这种方法,您可以部署在红色的tomcat上,并确保您的应用程序已启动。然后,您将Apache的配置切换为指向红色的配置并进行平稳重启 - 不会请求丢失。蓝色现在处于非活动状态,下次部署时,您将部署到蓝色的tomcat并重复该过程。

我在生产和大型ISP中使用了所有方法。取决于您的基础设施,应用程序以及您希望如何处理HA问题。

HTH,Mark

+0

感谢马克。尽管我喜欢选项3,但我更倾向于选项2.选项3并不能赢得我在我的位置执行的选票。 –