1

我正在运行一个用于数据库的Drupal网站。RDS我有 2 个实例,将来可能会更多,它们是负载平衡的。对于一年中的 60-75%,静态内容不会改变。一年中另外 25-40% 的时间,我们将开发需要每天多次修改文件的模块和功能。我想实现一个系统来处理n 个实例之间的文件同步。这个系统应该尽可能地解放双手和思想。注意:这些实例只是ssmtp用于 php 邮件的 Web 服务器(是的,它是 ssmtp 而不是 smtp)——仅此而已。

有人说可以S3用来托管静态文件并通过EC2 Instances. 其他人使用 Kwatee 等免费工具Scalr等付费工具。我什至看到有些人使用并复制它们以安装到- 这似乎是最糟糕的方法。我看到的最后一种方法用于完成文件分发。EBS ImagesEC2 Instancesrsync

如何正确比较这些方法并得出选择哪种实现的结论?另外,我不完全理解该S3方法的实现。因为我知道它会出现,成本当然是一个兴趣点,但在这一点上,易用性和可靠性更为重要。(当然在合理范围内。)

堆栈溢出参考:

负载平衡 Web 服务器 + 保持内容同步

将内容部署到多个服务器 (EC2)

亚马逊AWS设计故障架构上的共享文件放在哪里?

4

2 回答 2

2

我建议将您的静态文件保留为 S3 对象。Amazon S3 是一种高度持久且可靠的二进制对象(文件)存储,可通过 HTTP/S(如果需要)在公共 Web 中访问。除此之外,您还可以让您的客户通过 AWS CloudFront(内容交付网络)访问这些对象。

于 2013-06-03T18:04:44.697 回答
0

第 1 点)Drupal 与 GlusterFS 配合得很好。您可以创建一个或多个 GlusterFS EC2 实例作为公共存储池。您可以将所有 Drupal EC2 实例附加到通用 GlusterFS 存储池中。无论您放在公共存储池中的任何数据、文件,都可以立即在所有 Drupal EC2 实例中轻松访问。这是 AWS 中可扩展 Drupal 部署中使用的通用技术。该模型避免了架构中的 rsync、S3 和其他代码更改

第 2 点)如果您可以选择更改代码,请将其与 S3 集成。

于 2013-06-04T04:46:21.623 回答