![ftp.example.com 指向许多不同的服务器](https://linux22.com/image/583929/ftp.example.com%20%E6%8C%87%E5%90%91%E8%AE%B8%E5%A4%9A%E4%B8%8D%E5%90%8C%E7%9A%84%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我想设置类似的东西:
ftp.example.com
,它指向不同的 ftp 服务器。例如:
111.111.111.1
111.111.111.2
111.111.111.3
111.111.111.4
当有人连接到 ftp.example.com 时,他将随机连接到其中一个服务器。我正在考虑一些基于 DNS 的解决方案,但有更好的解决方案吗?
答案1
您正在寻找标准 DNS循环赛设置。您只需向您的 DNS 服务器添加多个 A 记录。
存在一些限制(参见链接文档),为了避免这些限制,您需要一个 FTP 感知代理或 FTP 感知负载平衡器产品位于您的 FTP 服务器前面。
答案2
有几个FOSS 软件负载均衡器适用于此类用例。DNS RR 负载平衡和 tcp 负载平衡器之间的区别在于连接终止。您将公布指向一个或多个负载平衡器 (LB) 的一条(或多条) A 记录。然后,LB 可以将流量发送回多个后端 FTP 服务器。这样做的好处是可以更好地控制如何将负载分配给后端 FTP 服务器。同样,如果您需要关闭 FTP 服务器,tcp 负载平衡可以使该过程变得更容易。使用 DNS RR,您必须确保删除后端 FTP 服务器并等待 DNS 缓存更新,然后再关闭 FTP 服务器,否则用户可能会访问关闭的 IP。