在 Azure 中配置主动-被动 Web 应用服务器

Configure active-passive web app server in Azure

我有一个应用程序需要在负载均衡器后面以主动-被动模式设置,这样所有连接都应该转到活动实例。如果主动实例出现故障,它应该从被动实例启动会话。

我收集到的唯一信息是我们只能在负载均衡器后面设置活动实例,它会在它们之间分配负载。

在此感谢任何线索。

你应该看看 Traffic Manager service from Azure. It supports various routing methods to route traffic between various service endpoints. The routing method which I believe is relevant to you is Priority. From this link:

Priority: Select 'Priority' when you want to use a primary service endpoint for all traffic, and provide backups in case the primary or the backup endpoints are unavailable.

正如Gaurav所说,我们可以使用Azure Traffic Manager来实现主动-被动模块。流量管理器是一个 DNS 级别的负载平衡器。

目前,我们不能在 Azure 负载均衡器后面设置主动-被动模块。
作为解决方法,我们可以部署 Haproxy,并将 node1 设置为 master,将 node2 设置为 backup:

-------------
 |  HAProxy  |
 -------------
  |         `
  |active    ` backup
  |           `
------       ------
| node1 |       | node2 |
------       ------

下面的配置使 HAProxy 在可用时使用 node1,否则故障转移到 node2(如果可用)(自动故障转移和故障回复):

global
   log /dev/log local0
   log /dev/log local1 notice
   chroot /var/lib/haproxy
   stats socket /run/haproxy/admin.sock mode 660 level admin
   stats timeout 30s
   user haproxy
   group haproxy
   daemon

defaults
   log global
   mode http
   option httplog
   option http-server-close
   timeout connect 4s
   timeout client 20s
   timeout server 20s

frontend ft_app
   bind 10.0.0.6:80
   default_backend bk_app

backend bk_app
   server node1 10.0.0.4:80 check
   server node2 10.0.0.5:80 check backup

这样就可以实现主被动模块.