【问题标题】:Using HAProxy for load-balancing SQL Server 2008使用 HAProxy 进行负载平衡 SQL Server 2008
【发布时间】:2011-06-22 19:33:33
【问题描述】:

使用 HAProxy 对三个 SQL Server 2008 数据库服务器进行负载平衡是否可能/可行/合理?

这是我们的情况:我们有两台 Web 服务器在 Amazon EC2 上进行负载平衡。我们目前正在使用一台生产 SQL Server 2008 DB 服务器。该服务器开始过载,因此我们想再添加两台数据库服务器,并实施负载平衡解决方案。

在 Amazon EC2 中,我们无法使用虚拟 IP 地址,这使我们无法使用 Windows 网络负载平衡 (NLB) 或任何其他需要 VIP 的负载平衡方法。

我们的应用程序读取繁重,但我们无法将读取与写入分开,因此负载平衡解决方案需要考虑到这一点。

我们计划使用 SQL Server 的内置复制功能来保持所有三个数据库的最新状态(我们知道会有一些滞后时间,但这是可以接受的)。

欢迎提出任何想法或建议,并提前感谢您的帮助。

【问题讨论】:

  • 我想你会在服务器故障上得到更好的答案

标签: sql-server amazon-ec2 load-balancing haproxy


【解决方案1】:

是的,这是可行的。我在实验室里试过了,效果很好。

如果您有足够大的网络服务器群,您可以通过 IP 哈希使会话保持粘性,这将解决复制延迟问题。负载不会均匀分布,但即使考虑到连接池,负载也可能不会那么均匀(假设您使用的是 .NET)

如果您使用合并作为您的复制拓扑,则该解决方案原则上应该可以很好地扩展并具有足够的弹性,只要您能够处理应用程序级别的奇怪断开连接,您就可以关闭单个服务器进行维护。

【讨论】:

    【解决方案2】:

    我会担心写事务如何到达后端的所有 SQL 服务器。您可以尝试点对点复制之类的方法,但这是一个非常重要的设置。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多