2

我正在 YII 框架中从事一个非常大的社交网络项目,其中负载平衡是正在出现的非常重要的问题。我需要的是:我想将所有三层(模型、视图、控制器)保留在不同的 EC2 亚马逊服务器上,以便可以有效地完成负载平衡。

在 YII 中我能做些什么呢?

有什么帮助吗?

4

3 回答 3

1

为了您的负载平衡,您不应将应用程序分开在 3 个不同的实例上。

您应该在多台服务器上拥有相同的应用程序(包含所有模型、视图和控制器),然后根据每个服务器的 CPU 和 RAM 使用情况,负载均衡器将在适当的服务器上重定向最终用户。

我什至不知道单独的应用程序是否可行,如果是的话,用户将不得不等待更长的时间:

  • 前端控制器将调用一些模型 => 一次或多次调用模型服务器 = 一段时间
  • 前端控制器必须将数据发送到视图 => 更多时间

最后,用户将比在加载的服务器上等待更多!

于 2013-01-10T13:46:21.393 回答
0

我强烈推荐亚马逊的 Elastic Beanstalk服务,因为我正在将它用于我正在开发的项目,该项目也基于 Yii 框架。

于 2013-01-10T17:29:54.547 回答
0

我使用的解决方案是将我的应用程序部署在 3 台服务器上,并使用 rsync 使它们与部署服务器保持同步。我的静态内容来自第 4 台服务器,但这会将您的所有代码放在 3 台服务器上,作为 3 个精确的克隆。Imo 这是最好的,因为如果您需要扩展平衡,使用 amazone 可以生成更多克隆。

负载平衡意味着您将在一台服务器上为一部分用户提供服务,在第二台服务器上为另一部分用户提供服务,依此类推。但是如果您拆分模型/控制器/视图,您将不了解负载平衡的含义。

于 2013-01-10T18:42:53.607 回答