Web-Server
負載平衡的 Drupal 伺服器:在伺服器之間共享數據的好方法?
我正在嘗試大致了解如何創建負載平衡的 Web 伺服器設置。設置實際的負載平衡器並添加兩個或多個 Web 伺服器似乎很公平。但是,我無法確定文件的最佳設置是什麼。
Web 伺服器將執行 CMS 系統(在本例中為 Drupal)。可能有使用者上傳的與內容相關的文件,所有 Web 伺服器都應該可以訪問這些文件。現在,我想簡單地擁有一個指定的文件伺服器並在每個 Web 伺服器上掛載一個文件目錄,以便各種 Web 伺服器可以訪問這些“共享”文件。
但是,如果我們談論的是 4-5 台伺服器,這個解決方案會成為瓶頸嗎?我認為安裝將通過 SSH 完成。
高度讚賞所有幫助!
更新(2013 年 1 月 15 日)
我決定結合使用 Csync2 和 Lsyncd。然後我設置了兩台充當鏡像的伺服器。Lsyncd 偵聽某些目錄(及其子目錄)中的更改並呼叫 Csync2,後者負責將文件同步到其他伺服器。如果您有興趣了解更多資訊,請查看本教程。
在我搬到 CDN 之前,我有一個大約 20 台伺服器的網路農場。我從 NFS 開始,直到大約 3 年前我在 linux 核心中遇到了一個錯誤,導致無法安裝卷並且無法正確故障轉移。
然後我創建了一個 rsync 腳本,它將每 5 分鐘將目錄同步到每個圖像伺服器。這並不理想,但它有效,我沒有任何問題。
下一步我切換到使用 inotify 監視目錄的 lsyncd,當文件更改時,它會生成一個同步該文件的程序。預設情況下是 rsync。該解決方案是可靠的,如果不是 CDN 的經濟性,我會繼續這樣做。
Lsyncd:http ://code.google.com/p/lsyncd/
希望有幫助。