考虑到这种架构:
- 服务器 1:Web 服务器 - CPU 负载和 BW 消耗浮动/激增
- 服务器 2:dbserver - 来自 web 服务器的浮动 I/O 和来自批处理的稳定/重 I/O
- 服务器 3:批处理 - 稳定/低 CPU 负载和稳定/重 BW
最佳的托管解决方案是什么?
按照 Ryan 提出的架构,使用 Amazon EC2(http://bit.ly/Osfy5),我考虑使用 Rackspace 的:(请记住,这是一家初创公司,目前流量为零)
网络服务器
- 两台 256MB 服务器
- 每台使用云服务器 API 的服务器(http://bit.ly/3veAJv)在需要时自动调整大小
- 循环 DNS 负载平衡
数据库
- 一台 512MB 服务器
- 还可以使用 CS API 自动调整大小
批量处理
- 一台 256MB 服务器
- 消息队列服务(简单的 mysql-db)
- 使用 API 监控其他 3 台服务器
持久存储和内容传递
- 亚马逊 S3
只需花费不到 1 个 Amazon EC2(每月 82.8 美元)的价格,您就可以获得 4 台具有可扩展性(API 自动调整大小)、可靠性(DNS 负载平衡器和自动重建/重启)和监控功能的服务器,每月只需 54 美元。显然,在 Rackspace 上进行设置需要做更多工作:API 开发和 DNS 配置(它们没有内置负载平衡器),而在 Amazon 上,一切都是现成的。但在扩展时,您需要采取较小的步骤:只需花费 2 个 EC2+CloudWatch 的价格,我就可以得到 8 个以上的切片,每个切片都针对其任务(Web 服务器、数据库或批处理)量身定制。
有人用过 Rackspace 的 API 吗?他们说它仍处于测试阶段。
这种方法有什么缺点?
答案1
你还应该看看www.joyent.com。他们已经实施了负载平衡,而且似乎拥有一个相当成熟的环境。唯一的问题是他们只运行 Solaris。