AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 446626
Accepted
xperator
xperator
Asked: 2012-11-09 00:19:35 +0800 CST2012-11-09 00:19:35 +0800 CST 2012-11-09 00:19:35 +0800 CST

使用 HAProxy 或 Nginx 在 VPS 之间进行负载均衡

  • 772

我想负载平衡 + 故障转移备份托管在不同供应商的多个 vps 网络服务器。

我听说对于 HAProxy,您需要同一子网下的多个服务器,以及负载均衡器之间的共享(虚拟)IP 地址。

但在我的情况下这是不可能的,因为每个 VPS 都在不同的节点/网络上。

  1. 有没有办法在这种设置中使用 HAProxy?(请简要说明,我不想听到你的“是”答案)
  2. NginX 呢?使用 Nginx 是否有可能达到相同的结果?(当服务器位于不同网络时)

我知道 Round Rubin DNS,但它没有提供真正的故障转移解决方案,也没有提供服务器之间的负载平衡。

nginx
  • 3 3 个回答
  • 2690 Views

3 个回答

  • Voted
  1. Best Answer
    fireto
    2012-11-09T02:08:53+08:002012-11-09T02:08:53+08:00

    负载平衡和高可用性 (HA) 是两个不同的东西。
    是的,您可以使用 NginX 为两个或多个节点配置负载平衡,无论它们位于何处。

    对于负载平衡,您有:
    DNS -> 服务 IP -> 负载平衡器 -> AppSrv1,AppSrv2,...,AppSrvn -> 一个或多个后端

    对于高可用性 (HA),您有:

    • 主动/被动:
      正常工作情况:
      DNS -> Virtual Service IP (assigned on LB1) -> AppSrv1,AppSrv2,...,AppSrvn -> One or more Backends If LoadBalancer1 (LB1) breaks:
      Hartbeat assigns VirtualIP to LB2
      DNS - > 虚拟服务 IP(在 LB2 上分配)-> AppSrv1,AppSrv2,...,AppSrvn -> 一个或多个后端
    • 主动/主动:
      DNS -> VirtIP1 (LB1),VirtIP2 (LB2), VirtIPn (LBn) -> AppSrv1,AppSrv2,...,AppSrvn -> 一个或多个后端

    基本上,Load Balancer 基于客户端 IP 创建散列,并将具有此散列的所有流量转发到相同的 AppSrv(以保留会话等)。您可以配置首选 AppSrv、故障转移 AppSrv 等

    您可以在所有 VPS 上使用 LB 进行配置,它将流量转发到本地 AppSrv(同一 VPS),如果该 AppSrv 不可访问,则转发到“备份”VPS。但是这样的实施在很多层面上都存在问题......

    • 1
  2. Ben Lessani
    2012-11-09T01:34:04+08:002012-11-09T01:34:04+08:00

    您将 HSRP/VRRP/LVS 与 HAProxy 混淆了。虚拟 IP 部分与 HAProxy 完全分开。

    如果您想要在两个不同的 VPS 提供商之间共享一个 IP,则不能。你能做的最好的事情是从同一个提供商那里获得两个 VPS,在两者上运行 heartbeat + haproxy,然后它们可以在同一个子网中拥有 IP。

    • 0
  3. Dragos
    2012-11-09T04:32:23+08:002012-11-09T04:32:23+08:00

    您的意思是位于不同地区的不同农场?

    然后,您将通过 DNS 将它们路由到 HAProxy 可以负载平衡的特定地理场:

    webfarm1 -> HAProxy -> appsrv..

    webfarm2 -> HAProxy -> appsrv..

    您还可以在分布在不同地理区域的 vps 之间进行负载平衡,但最终结果不会那么好:这种设置服务器通常是静态内容,例如 CDN。

    • 0

相关问题

  • Gzip 与反向代理缓存

  • nginx 作为代理的行为

  • Nginx 学习资源 [关闭]

  • 提供 70,000 个静态文件 (jpg) 的最佳方式?

  • 在 Apache、LightTPD 和 Nginx Web 服务器上提供 PHP 5.x 应用程序的现状?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve