各位好:
目前看到這種"負載平衡"的架構,想要先買 VPS空間裝個3台server實測看看。
主要會透過 nginx 來實現 HTTP load balancer。
請問以下安裝概念需要修正的地方?(從自架主機開始喔)
到 VPS空間,開啟3個1G 的ubuntu作業系統,這三台各自安裝好nginx+ php-fpm+mysql等~等於是架構都一模一樣,也等於會有3個VPS的IP ?
接下來的問題是,
我還要再開一台新的主機,上面只安裝nginx就好嗎?
然後只在那台當作blance的主機裡面設定:把那3個VPS的IP,都放進來,
到時候依照權重去分配IP,是這樣嗎??
那請問是否我還要把1份網站資料,要copy放到其他2台主機上??
或是可以設置個主機會自動去follow某台核心網站資料的,自動複製??
你可以用 3 台 (nginx + php-fpm + mysql) 配 1 台 nginx 當 LBS。但 3 台 mysql 須組成 cluster 或 replication。
也可以用 1 台 nginx 配 3 台 php-fpm 再配 1 台 mysql。不過 nginx 與 mysql 都可能變瓶頸,你得考量需要多大的連線數。
其實 web (nginx) 與 php-fpm 與 mysql 都可以獨立裝到 1 台主機,看系統瓶頸在哪個階段,就擴充哪個服務。資料庫只要超過兩台就要做 cluster 或 replication。
loadbalance市面上有nginx,haproxy,lvs等套件
架構就類似這樣,loadbalance通常會用兩台來做ha,
所以你會需要keepalived來協助