我正在尋找兩個MVC(我使用Symfony)驅動的Web站點之間共享模型數據的最佳方式。在Web應用程序之間共享模型數據
背景資料
我們有兩個網站A和B.同樣的軟件用於爲這兩個網站,但也有不同的客戶和數據。客戶被允許發佈內容。現在我們將介紹一個新的付款選項,其優點是用戶的內容自動在兩個網站上發佈。
實現?!
我對實現三個想法:
使用這兩個應用程序相同的數據庫。然後,我將不得不擴展一列表中的一列,指出適當的目標網站(A/B)。
我認爲這將是糟糕的設計。爲了從查詢結果集中排除不屬於相應網站的記錄,必須重寫許多代碼。
使用兩個數據庫。
在我看來,這會顯著降低性能和將很難實現。數據總是被請求兩次。此外,在未來有可能是網站C,d,E ...
同步通過Web服務的兩個數據庫。
某些數據將被存儲兩次。因此,對這種數據的所有操作必須執行兩次(創建,讀取,更新,銷燬)。
現在我被卡住了,因爲每個解決方案都有嚴重的缺點。
你有什麼想法嗎?如果不是,你認爲哪一個是我的最好的?
根據機型的設置方式,您可能還可以修改每個站點的FooPeer(波輪)或FooTable(主義)班過濾掉其他站點的數據,而不必重寫你的個人查詢。 – yitznewton 2011-03-13 15:19:14
我同意@yitznewton - 修改你的模型類來透明地應用過濾器,並且你已經覆蓋了很多實例。請記住考慮您的加入案件。 – Raise 2011-03-13 16:22:29
您是否認爲多租戶的概念適合這種情況?我可以將每個網站定義爲租戶。如果這是真的,那麼可以使用這個symfony插件:http://www.symfony-project.org/plugins/sfMultiTenantPlugin – fishbone 2011-03-16 13:48:08