控制器、視圖、模型可以分開放嗎?


控制器、視圖、模型可以分開放嗎?

不嚴格的來說是可以,因為目錄還是可以掛載網路上的存儲驅動器的。

但是從運維複雜度來看,這是沒有必要的。

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:沒有了,期待補充


推薦閱讀:
相关文章