Apache-2.2
跨兩節點 apache 集群鏡像數據的最佳方式
我正在建構一個新的伺服器結構,我計劃在它們後面有兩個 apache 主力和一個 sql 數據庫。我想知道在 apache 伺服器之間鏡像數據的最佳方式是什麼。使用者數據應該限制在這些伺服器上,因為大部分數據都在 S3 中。
從到目前為止我所做的初步研究中,我已經閱讀了有關 GlusterFS 和 DRBD 的資訊,但是一個簡單的 rsync 腳本可以解決問題嗎?
老實說,我不建議在 apache 機器之間進行實時複製。讓他們擁有自己的程式碼,或者每隔一段時間從“主”伺服器進行 rsync。實時(或接近)是大量文件檢查,99% 的時間都不需要。
我個人建議有三層。
負載平衡/Web 伺服器(您的 http/php 程序)
文件伺服器(需要在所有 Web 節點之間共享的程式碼/文件)
數據庫伺服器(您的後端數據庫)
比必須在伺服器之間進行完全複製要簡單得多。
如果你沒有能力擁有一個專用的文件伺服器(NFS/ect),讓“Web2”掛載“Web1的使用者上傳”,兩個網路伺服器都可以讀寫共享區域,除非你更新,否則不需要同步等網站程式碼。
Web1 /var/www/website/www /var/www/website/_files web2 /var/www/website/www /var/www/website/_files (NFS mouned to Web1) /var/www/website/_files.bak (rsync copy from web1 incase web1 explodes)
兩台伺服器在儲存方面都接近實時,它們是冗餘的,您不必添加任何復雜的同步廢話。
編輯:
http://www.migrate2cloud.com/blog/how-to-setup-nfs-server-on-aws-ec2
有關於如何在 EC2 實例上使用 NFS 的指南。