2011-02-07 150 views
1

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

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

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

我们的应用程序是重读的,但我们无法将读取与写入分开,因此负载平衡解决方案需要对此进行解释。

我们正在使用SQL Server内置的复制功能,让规划三个DB目前(我们明白,会有一定的滞后时间,但这是可以接受的)。

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

+0

我想你会得到一个更好的答案服务器故障 –

回答

2

是的这是可行的。我已经在实验室尝试过了,它运行良好。

如果您拥有足够大的Web服务器场,则可以通过IP散列使会话变得粘滞,从而解决复制延迟问题。负载将不会均匀分布,但负载可能不会是连接池(假设您正在使用.NET)

并且如果您使用合并作为复制拓扑,解决方案应该 - 原则上 - 很好地扩展,并有足够的弹性,可以采取单独的服务器停机维护,只要你能够处理奇数下降在应用层接口。

0

我会担心写入事务如何使它到达后端的所有SQL服务器。你可以尝试类似点对点的复制,但这是一个不平凡的设置。