0

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

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

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

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

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

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

4

2 回答 2

1

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

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

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

于 2011-02-25T12:07:52.367 回答
0

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

于 2011-02-07T22:52:58.337 回答