2013-07-28 15 views
0

我打算提供網絡基於REST的服務(所有動態內容,沒有靜態的東西),以亞洲和美國的客戶,看來,網絡延遲是非常糟糕的一個亞洲客戶連接到美國服務器,我目前的服務器託管在RackSpace雲上,它同時運行應用程序服務器和MySQL數據庫 - 所以我打算在亞洲建立另一個Rails服務器,但現在RDB的最佳實踐是什麼?使用一個DB爲多地點的Rails應用

選項1是兩個Rails的服務器連接到自己的本地數據庫,但後來我有兩個獨立的一組DB的(包括用戶註冊DB)和用戶在美國的註冊將不會看到用戶在亞洲註冊。

選項2是兩根鋼軌服務器連接到同一個MySQL數據庫,希望在Rails和數據庫之間的中間添加一些SQL緩存(內存緩存),但我不知道該設置的性能

任何人都可以提出採取哪種選擇,採用備選方案2是否有最佳做法?

感謝

回答

0

您可以用選項1,然後設置一個主從設置(MySQL replication)去。因此,每臺服務器都連接到本地數據庫,但亞洲的服務器將與美國的主數據庫同步。延遲仍然是一個問題。您可能必須在測試環境中嘗試這兩種選擇,並查看哪些最適合您,哪些最適合您。

+0

感謝卡爾。看起來我只能在這個主從模式下獲得一個方向同步,所以如果我將US DB設置爲主控,那麼我不能真正將新數據保存到亞洲數據庫服務器,對嗎? – Twinkiestar

+0

這是正確的 – Carl

相關問題