2011-05-05 48 views
2

我有一個項目,我們有一箇中央系統在MySQL之上公開一個API。我們現在需要在幾個不同的盒子(可以是50+以上)在本地複製相同的服務。我們希望在每個框上都有一個本地DB緩存,以確保在「中央」系統關閉時能夠快速響應並進行故障轉移。分佈式數據庫的最佳設計

任何想法什麼是最好的設計呢?我正在考慮設置某種主/從設備,但我不確定這是否適用於50臺以上的服務器。我不確定什麼是最好的方法。任何想法將不勝感激。

回答

0

通過我所見過的複製,您可以擁有一臺主設備和一臺從設備。如果主人失敗,其中一個奴隸接管。擁有50多個奴隸,你會有一個漫長而令人困惑的主人鏈。

不知道任何關於您的數據的類型或讀/寫百分比,我會建議下列之一:

  1. 緩存靜態數據在本地(內存緩存等)。讀取將是本地的,寫入回到mysql主。這適用於大多數靜態配置信息。我現在有6臺服務器。
  2. 碎片您的數據。使用50臺服務器,將它們設置爲25個主/從對,並在每個碎片上放置1/25的數據。爲N + 1冗餘獲取一臺服務器。

希望有所幫助。