![如何从一台服务器扩展到多台?](https://linux22.com/image/525072/%E5%A6%82%E4%BD%95%E4%BB%8E%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%89%A9%E5%B1%95%E5%88%B0%E5%A4%9A%E5%8F%B0%EF%BC%9F.png)
我为一家拥有一台网络服务器的小型企业工作。过去,这台服务器运行良好,但随着业务的扩大,我们需要另一台服务器。
我该如何设置两台服务器协同工作?我读过一些关于 Pound 负载平衡的文章,我需要第三台计算机来实现这个功能吗?
该服务器将执行基本的网络服务和一些轻量级的数据库操作。
我是这个行业中最懂技术的人,我们从来不需要雇佣服务员,所以他们让我做这件事。
你能帮我吗?
答案1
我对 Pound 一无所知,但我已经使用 HAProxy 完成了此操作,我猜测的理论是相同的:
- 设置两台服务器来服务同一个网站,尽可能相同(设置相同,不一定是硬件相同)
- 在这两台服务器前面设置第三台服务器,这将是你的负载均衡器,也是你面向世界的公开接口
- 配置负载均衡器以将传入请求分配到两台服务器上。如果一台服务器可以处理的请求数量是第二台服务器的 10 倍,那么您可以在任何合适的负载均衡器中设置 10:1 的平衡。
所以是的,你需要第三台服务器,但是,有几件事可能会让你的生活变得更好:
- 负载均衡器不需要是物理的 - 它可以是一个虚拟机。事实上,如果你把它变成一个虚拟机,它会变得更加灵活,因为你可以在没有人注意的情况下移动它
- 如果您的请求量较低,负载平衡器就不需要是一台花哨的机器。我在装有 HAProxy 和 1GB RAM 的 Pentium 4 机器上取得了巨大成功(每天处理大约 60,000 个请求)。
负载平衡和 .NET 网站在会话状态和本地存储变量方面可能会有一些乐趣,但负载平衡器通常具有允许您将用户固定在一个 Web 服务器上的设置,以便所有未来的请求都会转到同一台服务器以读取相同的数据。如果您没有这个问题,那么请随意使用循环或其他方法。