Apache-2.2

負載均衡器、文件合併和 mysql

  • July 3, 2011

所以我這裡有三台機架伺服器,主要的一台連接到 WWW 並有一個公共 ip,它執行的 HAProxy 設置為指向其他兩台伺服器。

另外兩個正在執行 apache,其中一個 cron rsync 作業正在從主控制器伺服器上的目錄將 Web 文件下載到它們。

一切正常,但我目前在控制伺服器上執行 MySQL,但我希望它像 apache 和 haproxy 系統一樣工作。有什麼方法可以做到這一點?

還說如果使用者在 wordpress 上並為文章上傳文件/圖像,它只儲存在本地伺服器上,文件每 1 分鐘被 rsync 覆蓋。如何合併目錄?

順便說一句,所有三台伺服器都是 Ubuntu 10.04 伺服器

謝謝。

在您擁有超過 1 個 Web 伺服器的任何情況下,您都需要一個中央位置來儲存文件上傳和會話數據。

如果文件不是太大,您可以考慮將它們直接儲存在 MySQL 數據庫中,否則您可以在其中一台伺服器上設置 NFS 共享目錄,然後將其掛載到其他伺服器上。這樣,當使用者上傳文件時,無論他在什麼伺服器上,都可以訪問該文件。

這樣做的缺點是,如果 NFS 伺服器(或具有 NFS 共享的 Web 伺服器)崩潰或不可用,您上傳的所有文件都將消失。所以您應該計劃定期備份這些文件並修改您的 Web 應用程序以從NFS 不可用時的備份位置。

至於負載平衡 MySQL,幾年前我已經為此寫過一篇文章:http ://www.alexwilliams.ca/blog/2009/08/10/using-haproxy-for-mysql-failover-and-冗餘/index.html

如果這可能對您有所幫助,我還寫了一本書,其中包含不同的負載平衡和擴展基礎架構:http: //scalingexperts.com/books/

引用自:https://serverfault.com/questions/286233