2012-12-01 51 views
1

我將開始處理一個巨大的應用程序。在此之前,我想爲自己做好準備。數據庫的負載均衡

這是一個將在世界範圍內使用的應用程序,並且會有大量的用戶在同一時間使用它。

  1. 所以,我認爲是,將有一個數據庫服務器上的負載很大,大量的請求/查詢的數據庫在窄的時間框架。所以這會影響系統的性能,對吧?

  2. 如果數據庫服務器宕機,它將對網站的所有者非常昂貴。

那麼我該怎麼做?有什麼技術或我可以使用的? 如果我可以使用多個數據庫,那麼如何?所有的數據庫都會包含相同的信我可以在diff之間加入表格(使用任何技術或工具)。數據庫?或者我必須在每個數據庫的每個數據庫中執行多個查詢?

應用程序將與:JBoss的,JSP,servlet的,MySQL的

+1

檢查出亞馬遜RDS。 – Subin

回答

0

它始終是最好的,如果需求能相當精確地給出。例如,我們預計不超過1,000名用戶同時訪問數據庫是一項明確的設計要求。 「會有大量的用戶」的幫助非常少。當然,我們不能總是預測Web應用程序會獲得多少流量,並且需求通常會隨着時間而改變。

如果數據庫的讀取量遠遠大於寫入數據量,那麼從數據庫緩存數據可以提高性能。這是最近播客的主題,您可能想聽:http://javaposse.com/java-posse-399-roundup-12-distributed-caching

將數據庫傳播到多臺服務器中是一項複雜的任務,因爲您需要處理同步問題。你最好的選擇是找到一個服務或API來爲你解決這個問題。你可以使用MySQL(見this question),但爲這種擴展設計的另一個數據庫可能是更好的選擇。看看hadoop