我正在YII框架中开展一个非常大的社交网络项目,其中负载平衡是一个非常重要的问题。 我需要的是: 我希望将所有三个层(模型,视图,控制器)保留在不同的EC2亚马逊服务器上,以便以有效的方式完成负载平衡。
我在YII可以做些什么?
任何帮助?
答案 0 :(得分:1)
对于负载平衡,不应将应用程序分成3个不同的实例。
您应该在多个服务器上拥有相同的应用程序(包含所有模型,视图和控制器),然后根据每个服务器的CPU和RAM使用情况,负载均衡器会将最终用户重定向到相应的服务器上。
我甚至不知道该应用程序是否可行,如果是,用户将需要等待更长时间:
最后,用户将在加载的服务器上等待更多!
答案 1 :(得分:0)
我强烈推荐Amazon's Elastic Beanstalk服务,因为我正在将它用于我正在开发的项目,该项目也基于Yii框架。
答案 2 :(得分:0)
我使用的解决方案是在3台服务器上部署我的应用程序,并使用rsync从部署服务器保持同步。我的静态内容来自4rth服务器,但这会将所有代码放在3台服务器上,就像3个精确的克隆一样。 Imo这是最好的,因为如果你需要扩展你的平衡,你可以产生更多的克隆。
负载平衡意味着您将服务于1台服务器上的部分用户和第2台服务器上的另一部分,依此类推。 但是,如果您拆分模型/控制器/视图,则无法理解负载平衡是什么。