我可以在不同的EC2服务器上放置视图,模型,控制器吗?

时间:2013-01-10 11:04:55

标签: yii

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

我在YII可以做些什么?

任何帮助?

3 个答案:

答案 0 :(得分:1)

对于负载平衡,不应将应用程序分成3个不同的实例。

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

我甚至不知道该应用程序是否可行,如果是,用户将需要等待更长时间:

  • 前控制器将调用某些型号=>对模型服务器的一次或多次调用=某个时间
  • 前端控制器必须将数据发送到view =>更多时间

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

负载平衡意味着您将服务于1台服务器上的部分用户和第2台服务器上的另一部分,依此类推。 但是,如果您拆分模型/控制器/视图,则无法理解负载平衡是什么。