我正在開發一個新應用程序(應用程序2),我已經擁有一個具有體面用戶羣的現有應用程序(應用程序1)。在2個Web應用程序之間共享數據
應用2是針對相同的用戶羣,用戶可以使用或應用中任一項兩者,如何可以跨應用共享用戶數據(多實體)?
選項1 - 共享數據庫聽起來像一個壞主意,因爲我最終會在2個不同的地方寫驗證規則。
選項2 - 中央服務和數據存儲將意味着重新編寫應用程序最多1這是運作良好和代碼庫是非常巨大的。
選項3 - 將App 1數據存儲視爲中央數據存儲並將其公開爲API。應用2可以使用它來讀取和寫入數據。我仍然有這個解決方案几個問題 - 在應用程式2.緩存數據。這會導致其他問題
- 應用2現在依賴於應用程序1,這意味着應用1問題會影響應用程序2.我可以解決這個問題。
- 在App 1中更改的數據沒有立即反映在App 2中,這是要求之一。我可以通過pub/sub模型應用1和應用2
- 應用2之間解決這個總是使用API將數據寫入到App 1個數據存儲,我可以將數據傳輸迴應用程序2,但隨後其並不一致,而這是最終一致。
- 應用程序2將數據寫入其自己的數據存儲,然後將其異步推送至應用程序1。這會導致數據衝突問題。
我該如何處理這個問題,而在我的兩個應用程序引入巨大的複雜性。
1.兩個應用程序都是用php 。 2.我確實有一個適用於應用程序1的API。如果我直接在應用程序2中使用它,我擔心應用程序2的性能。 – abhinavlal 2013-04-11 00:18:31
您甚至不應該那樣做,我的意思是讓App 2使用Api 1.您能夠從App 1中提取REST API? – Marco 2013-04-11 15:16:54