2012-12-12 17 views
1

用戶將上傳文件到我的網站,我需要將它們均勻分佈到多臺服務器上,並且還需要在數據庫中有專欄指出上載特定文件的服務器。在服務器上均勻上傳文件

所以這裏是我的設計。

  1. 具有服務器名稱的枚舉,例如server1,server2,server3。
  2. 從DB
  3. 獲取最新的上傳服務器名稱。如果最後上傳服務器是服務器1,那麼當前文件應該被上傳到服務器2和更新數據庫, 如果最後上傳服務器是服務器3 \,那麼當前文件應該被上傳到server1和更新數據庫

應用程序和數據庫目前託管在單個服務器上,但將來我們將轉移到負載平衡。

讓我知道是否有任何其他最好的方法。

+1

我認爲最好弄清楚你將如何執行你的負載平衡。您提出的方法只會讓您有一個選擇:發送到服務器的靜態DNS值。如果您想要真正的故障切換負載平衡方案,這並不理想。 –

回答

1

您的解決方案應該取決於您的客戶如何使用它。我會告訴你我之前看到過這件事的快速細節。

  • 循環DNS(配置多個IP地址相同的域)
  • 多個Web服務器誰得到一個基於DNS輪循
  • 每個Web服務器則有它自己專用的SQL服務器的流量。
  • SQL服務器使用複製來保持數據同步。
  • 用於文件上傳的單個存儲服務器。 (除非文件上傳的主要功能是,我懷疑你需要> 1)

優點: 很容易擴展,可以直到你打交通的大規模的水平,在這一點,你需要重新考慮SQL片。

購買硬件時,你可以花你的錢,在某些領域,側重它是一個文件服務器/ SQL或Web服務器

缺點: 這並不提供任何真正的冗餘。由於採用分層方法,可以說它變得更糟。這可以通過一些受管理的DNS來解決,但這仍然不是一個完美的方法,我知道一些系統管理員對管理DNS的想法感到畏懼。