在传输大量数据时,ELB替代AWS

所以我得到了一个独特的问题。 我们的应用程序旨在使用一次性使用的特殊链接来服务大量文件。 我们一直在玩ELB,但注意到一个有趣的“错误”,如果你开始得到很多的stream量或负载,它看起来像ELB将尝试扩大和重新连接。 这反过来导致我们的系统在下载完成之前使链接无效。

所以很快我把一个nginx的代理服务器来testing这个问题,并在该设置中的连接不会被取消,但我看到性能下降约2/3至1/2。 看到我不能在实例中投入更多的带宽,因为我被locking到AWS给我的替代品有什么? 也许有一个configuration与实例/ nginx我做得不对,或者我需要移动到像RR DNS的东西,并付出代价。

如果www.example.com正在对server1.example.com和server2.example.com进行负载平衡,请将您的一次性链接显式链接到server1 / 2.example.com(或当前实例的AWS CNAME,如果您的实例经常改变,你的DNS不一定是最新的)。

我不确定您的应用程序的要求是什么,但是由于您已经在使用AWS,因此您可以考虑使用S3的function,以允许您发布在将来特定时间到期的签名URL(例如,在两分钟内)。 这将使您的用户重试失败的连接,但不会让他们传递给其他人使用超过到期时间。

如果S3适用于您的应用程序,那么在S3处理所有工作时,也可以免除您自己运行下载服务器的巨大负担。