在负载平衡的 Amazon AWS 设置上上传并提供图像

在负载平衡的 Amazon AWS 设置上上传并提供图像

我正在 Amazon AWS 上设置负载平衡系统。我将上传照片到我的服务器,然后从另一台设备读取服务器上的照片。

假设我的负载均衡器上有Server-AServer-B正在运行。如果我上传了一张照片并点击Server-A,那么我假设我将无法在上看到这张照片Server-B

处理这个问题的最佳方法是什么?我是否应该创建一个Server-C来保存照片,并Server-C从使用负载平衡器访问的任何服务器进行访问?那么就没有负载平衡了Server-C,所以我必须设置一个备份服务器,每隔 X 分钟复制一次文件Server-C

非常感谢您的想法。

答案1

您将需要一个分布式文件系统,例如 GlusterFS 或 NFS,并在服务器 C 和 D(冗余)上运行 DRBD,以便将包含照片的数据目录共享到服务器 A 和 B。

相反,正如 jamieb 所建议的,如果你将其上传到 S3 并从那里检索,那么它会简单得多。这将比在 HA 模式下运行 2 个实例并实现 99.99999% 的可用性更便宜(~0.13 美元/GB)。

有多种语言的 SDK 可以与 S3 通信——http://aws.amazon.com/code/

您可以使用 s3cmd 等工具与 s3 通信以进行文件上传和下载

答案2

不,实例状态必须一致(需要相同)才能在负载均衡器后面正常工作。此问题的正确解决方案是将您的照片直接上传到 S3。

相关内容