如何使用硬件负载均衡器使restfull服务真正高度可用

如何使用硬件负载均衡器使restfull服务真正高度可用,rest,cluster-computing,load-balancing,high-availability,Rest,Cluster Computing,Load Balancing,High Availability,当我们在负载平衡器(lb)后面有一组机器时,通常硬件负载平衡器具有持久连接 现在,当我们需要在所有机器上部署一些更新(滚动更新)时,方法是使一台机器停止旋转,查找通过lb发送到该服务器的无请求。当应用程序达到无请求状态时,然后手动更新 图中有70-80台服务器,这变得非常痛苦 有人能有更好的方法吗。70-80服务器是一种水平扩展的实现。。。干得好“更好”是一个非常相对的术语,希望其中一个建议算作“更好” 为应用程序实现智能运行状况检查,并能够在应用程序运行时调整运行状况检查。我们要做的是让运行状

当我们在负载平衡器(lb)后面有一组机器时,通常硬件负载平衡器具有持久连接

现在,当我们需要在所有机器上部署一些更新(滚动更新)时,方法是使一台机器停止旋转,查找通过lb发送到该服务器的无请求。当应用程序达到无请求状态时,然后手动更新

图中有70-80台服务器,这变得非常痛苦


有人能有更好的方法吗。

70-80服务器是一种水平扩展的实现。。。干得好“更好”是一个非常相对的术语,希望其中一个建议算作“更好”

  • 为应用程序实现智能运行状况检查,并能够在应用程序运行时调整运行状况检查。我们要做的是让运行状况检查在应用程序正常运行时开始失败。这允许负载平衡器自动使系统停止转动。我们的停止脚本查询负载平衡器,以确保它不旋转,然后正常关闭,这允许现有连接耗尽

  • 将多组系统批处理在一起。我假设您有70台服务器来处理峰值负载。这意味着您应该能够一次重新启动几个。实现这一点的标准方法是使用最多10个令牌实现一个简单的令牌授予服务。继续之前,请让关机脚本签出令牌

  • 另一种方法是使用蓝色/绿色部署。这意味着您有一个完整的第二个服务器场,然后在更新第二个服务器场后,切换负载平衡以指向新的服务器场

  • 这是备选方案3。在相同的服务器上安装两个版本的应用程序,然后使用内部代理服务(如haproxy)在部署的应用程序版本之间切换连接。例如:

  • haproxy在8080上收听 应用程序版本0.1监听9001 应用程序版本0.2在9002上收听

    一旦您对应用程序版本0.2的部署感到满意,请切换haproxy,将流量发送到9002。当您发布版本0.3时,请将负载平衡切换回9001等