控制器、视图、模型可以分开放吗?


控制器、视图、模型可以分开放吗?

不严格的来说是可以,因为目录还是可以挂载网路上的存储驱动器的。

但是从运维复杂度来看,这是没有必要的。

PHP开发的网站如果想部署到多个伺服器上,肯定为了做负载均衡。而不是仅仅为了将 控制器、视图、模型可以分开放

再回答 如何做到

1. 直接使用类似于scp或者rsync 挨个推送代码。

2. github或者gitlab都可以使用webhook触发每台伺服器的部署功能。

3. docker运维栈 。

还有很多方法,不一一列举了。


前后端分离就可以做到V 和MC分开,但是M和C,一般都是在同一个机器,没有分开的必要。

MC端,如果要部署多台机器,主要都是为了横向扩展机器性能,使用反向代理实现负载均衡,就是M和C代码相同地布置再多台机器,用一台机器专门做请求转发。但M和C代码是相同的存在每一台机器。


谢邀

MVC这种模式本身和存储是否分开没有太大关系,理论上是可以分开存储的,但是这种代价很大;

MVC模式的初衷是为了把逻辑分离能够协同开发,前提是在同一个业务系统里,所以从设计初衷上没有考虑单业务系统的分散式部署。

另外就MVC模式来说,把逻辑很相关的一些代码部署在不同的伺服器上,这种操作对于系统的稳定性和性能是非常不友好的。


MVC这个不用拆分,布置多伺服器不是这么拆的。

拆分要从更大的层面上来分析执行。

水平拆分是做负载均衡,应用多个伺服器复制就好了。

垂直拆分的话一般是资料库访问单独拆分一层。

功能拆分的话是把用户系统拆出去,具体各自业务模块根据团队和业务情况,也可以拆出去单独维护。

详细说起来就很复杂,要具体情况具体分析。


直接ftp上传;

使用svn迁出;

scp拷贝;

sync 同步。

其实你到底想问什么呢?

控制器、试图和模型放在不同伺服器吗?不可以。

我觉得微服务适合你,或者简单点http api 也可以


MVC不需要出拆分啊,如果要拆出来就需要用到内部通讯,开发成本和实际效率都会非常的低

一般做横向复制,部署多套,然后通过redis来管理用户池就行了

前端可以用nginx之类的做反向代理来做负载均衡,很简单,配置管理都容易

当然,前后端的分离是有必要的,后端只能通过堡垒机来配置,实现业务的安全性


有几种

1:按照功能进行拆分,如果压力大了,模块化在进行负载,可以了解下微服务

2:相同代码部署在不同机器,实现负载均衡,不过要考虑session共享问题,还有上传图片的问题!3:至于代码部署同步,有人已经说过采用rsync同步,但是不可能每次手动执行,所以要写一个脚本检测文件发生变化的时候进行同步,百度搜索下目前linux下面有软体可以实现4:mvc不用拆分,一般是在一台机器,负载均衡一般是想同的业务不同机器,意思是同一套代码喽5:没有了,期待补充


推荐阅读:
相关文章