我需要一个 EC2 实例来平衡所有传入 FTP 连接到 FTP 服务器列表(EC2 实例也是如此)。此列表将根据 FTP 服务器的负载动态更改(当 FTP 服务器超载时启动新的 FTP 服务器,或当负载较低时关闭 FTP 服务器)。
你有什么建议?FTP 代理?DNS 服务器?负载均衡器?
注意:FTP 服务器必须支持被动模式
答案1
我会尽量简单,使用 DNS。获取 FTP 服务器 IP 列表,并为子域(如 ftp.example.com)添加 A 记录。使用该域的每个人都应该获得一个相当随机的服务器,并且负载通常应该均匀分布。
FTP 可能是最难实现负载平衡的东西之一。除非你真的有需要,否则我还是会坚持使用 DNS。
如果您在 5G 以下上传和下载文件,使用 S3 可能会更合适。
答案2
我还没有机会(或者更确切地说是需要)使用亚马逊的弹性负载平衡,但我会把它放在那里供您调查。
如果它满足了您的需求,那么就像他们的其他服务一样,您就不必弄清楚他们已经处理的所有部分(维护、平衡器本身的冗余,这样您就不会出现单点故障等)。