【发布时间】:2011-04-30 05:36:20
【问题描述】:
我有一个中型 SaaS 项目,需要横向扩展,我可以在哪里找到开始我的云项目的材料?
ps:我不想使用 PaaS,例如 App 引擎或 Azure...我将使用 IaaS,例如 ec2 或 rackspace
【问题讨论】:
标签: architecture cloud saas iaas
我有一个中型 SaaS 项目,需要横向扩展,我可以在哪里找到开始我的云项目的材料?
ps:我不想使用 PaaS,例如 App 引擎或 Azure...我将使用 IaaS,例如 ec2 或 rackspace
【问题讨论】:
标签: architecture cloud saas iaas
我不知道经验,但与您合作的服务提供商肯定有一些不错的材料可以帮助您吗?此外,我认为亚马逊的产品(以及类似产品)将拥有良好的活跃用户社区。p>
【讨论】:
如果您更喜欢使用 Iaas,Amazon EC2 提供了一个基本的 auto-scaling 函数,允许您根据定义的条件扩展服务器容量。 Scalr 或 RightScale 等其他云管理解决方案提供了更高级的功能。这些不是 Paas 本身,而是帮助您管理 Amazon、Rackspace 和其他提供商上的基础设施的服务。根据您的需求,EC2 自动扩展可能会也可能不会满足您的要求。
下面是一个示例,用于了解 EC2 和 Scalr 自动缩放之间的工作方式有何不同(我在 Scalr 工作):
假设您有三台网络服务器,每台至少应处理 1000 个并发用户,否则它们应该被终止。凌晨 4 点,您的流量变慢了,您只有 2100 个同时用户,因此每台服务器有 700 个。这低于您的阈值,因此触发了缩减事件。
使用 EC2 自动扩展,三台服务器中的一台将被终止。这意味着服务器上的 500 个用户将关闭连接并注销(如果您使用基于文件的会话,这在 PHP 和其他语言中很常见)。
Scalr 以不同的方式处理缩减。在终止服务器之前,会触发 OnBeforeHostTerminate 事件:它允许您执行维护操作以准备服务器被终止。此外,Scalar 使用 Web 服务器的安全关闭方法,因此不会建立新的连接。它一直等到所有连接都关闭以终止服务器。 另一个区别是,与 EC2 自动扩展不同,Scalr 允许您根据 CPU、RAM、磁盘、网络、用户进行扩展......
至于 Rackspace,我认为它们没有自动缩放功能。但是,如果您想在 Rackspace 而不是 Amazon 上构建基础架构,您仍然可以使用 Scalr 来管理您的服务器并自动扩展您的容量。
正如我之前所说,这取决于您的要求。
【讨论】:
不确定您所说的“横向扩展”是什么意思,但也许您的意思是自动扩展、负载平衡或类似的东西?
Amazon 提供了一些服务,您可以将这些服务添加到您的 EC2 账户(Auto Scaling、Amazon CloudWatch 和 Elastic Load Balancing),或者您可以使用第三方工具(例如 Scalr)为您管理这一切。我们正在评估 Scalr 以满足我日常工作的需求,但我还没有这方面的经验。
【讨论】: