Load-Balancing
使用 apache2-mpm-itk 進行負載平衡
我正在為我正在從事的一個項目做一些研究,但對於負載平衡和 mpm-itk 該怎麼做我有點難過。
我目前有一個執行 apache2-mpm-itk 的 Web 伺服器 (webA),它將使用者文件儲存在
/sites/<sitename>
. 所以,如果我點擊www.siteA.tld
它,它會從/sites/siteA
使用者 siteA 中拉出並執行。這適用於單個伺服器,但如果我現在將 haproxy 放在前面,並直接到 webA 和 webB,那麼只有命中 webA 的請求才有效。(顯然,因為我還沒有同步這些盒子。)
問題是,同步這些機器的最佳方式是什麼?
- 使用 rsync 同步
/sites/*
文件夾?(但是使用者帳戶呢??)- 使用 NFS 儲存
/sites/*
文件夾,並以某種方式同步使用者?- 其他一些與 mpm-itk 配合得更好的酷方法?!
我想我真正想要的是如何保持使用者帳戶同步,以便 mpm-itk 仍然可以在任何一個盒子上工作。
編輯:它不一定是mpm-itk,但我可以以任何方式將apache作為單獨的使用者執行,負載平衡,並使使用者帳戶在多台機器之間保持同步。
如果要使用 mpm-itk,則必須確保兩台機器上的 /etc/passwd 和 /etc/group 文件的內容相同。這意味著您要複製的文件具有相同的 UID 和 GID。至少對於mpm使用的部分。只要您同步上述內容,然後將網站基礎文件夾的內容複製到新機器上(通過 rsync 或其他任何方式),您想要的事情就可以很容易地完成。它可能涉及一些腳本和用左手撓右耳的感覺,但它實際上會起作用。
另一方面,如果您真的想使用水平縮放,我會推薦以下兩種方法之一:
a) DRBD 以類似於網路 RAID1 的方式複制分區 - 您所需要的只是同步使用者內容
b) 嘗試分佈式文件系統。GlusterFS 已經足夠成熟,應該不難設置。
以上任何一項都會讓您更接近您想要實現的縮放比例。