在 RHEL/CentOS 上為Web伺服器架設 「XR」(Crossroads) 負載均衡器
安裝 XR Crossroads 負載均衡器
這裡有兩個 Web 伺服器,一個網關伺服器,我們將在網關伺服器上安裝和設置 XR 以接收客戶端請求,並分發到伺服器。
XR Crossroads 網關伺服器:172.16.1.204
Web 伺服器01:172.16.1.222
Web 伺服器02:192.168.1.161
在上述情況下,我們網關伺服器(即 XR Crossroads)的IP地址是172.16.1.204,webserver01 為172.16.1.222,它監聽8888埠,webserver02 是192.168.1.161,它監聽埠5555。
現在,我們需要的是均衡所有的請求,通過 XR 網關從網上接收請求然後分發它到兩個web伺服器已達到負載均衡。
第1步:在網關伺服器上安裝 XR Crossroads 負載均衡器
1. 不幸的是,沒有為 crossroads 提供可用的 RPM 包,我們只能從源碼安裝。
要編譯 XR,你必須在系統上安裝 C++ 編譯器和 GNU make 組件,才能避免安裝錯誤。
# yum install gcc gcc-c++ make
接下來,去他們的官方網站(https://crossroads.e-tunity.com)下載此壓縮包(即 crossroads-stable.tar.gz)。
或者,您可以使用 wget 去下載包然後解壓在任何位置(如:/usr/src/),進入解壓目錄,並使用 「make install」 命令安裝。
# wget https://crossroads.e-tunity.com/downloads/crossroads-stable.tar.gz
# tar -xvf crossroads-stable.tar.gz
# cd crossroads-2.74/
# make install
安裝 XR Crossroads 負載均衡器
安裝完成後,二進位文件安裝在 /usr/sbin 目錄下,XR 的配置文件在 /etc 下名為 「xrctl.xml」 。
2. 最後一個條件,你需要兩個web伺服器。為了方便使用,我在一台伺服器中創建兩個 Python SimpleHTTPServer 實例。
要了解如何設置一個 python SimpleHTTPServer,請閱讀我們此處的文章 使用 SimpleHTTPServer 輕鬆創建兩個 web 伺服器.
正如我所說的,我們要使用兩個web伺服器,webserver01 通過8888埠運行在172.16.1.222上,webserver02 通過5555埠運行在192.168.1.161上。
XR WebServer 01
XR WebServer 02
第2步: 配置 XR Crossroads 負載均衡器
3. 所需都已經就緒。現在我們要做的就是配置xrctl.xml
文件並通過 XR 伺服器接受來自互聯網的請求分發到 web 伺服器上。
現在用 vi/vim 編輯器打開xrctl.xml
文件。
# vim /etc/xrctl.xml
並作如下修改。
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system>
<uselogger>true</uselogger>
<logdir>/tmp</logdir>
</system>
<service>
<name>Tecmint</name>
<server>
<address>172.16.1.204:8080</address>
<type>tcp</type>
<webinterface>0:8010</webinterface>
<verbose>yes</verbose>
<clientreadtimeout>0</clientreadtimeout>
<clientwritetimout>0</clientwritetimeout>
<backendreadtimeout>0</backendreadtimeout>
<backendwritetimeout>0</backendwritetimeout>
</server>
<backend>
<address>172.16.1.222:8888</address>
</backend>
<backend>
<address>192.168.1.161:5555</address>
</backend>
</service>
</configuration>
配置 XR Crossroads 負載均衡器
在這裡,你可以看到在 xrctl.xml 中配置了一個非常基本的 XR 。我已經定義了 XR 伺服器在哪裡,XR 的後端服務和埠及 XR 的 web 管理界面是什麼。
4. 現在,你需要通過以下命令來啟動該 XR 守護進程。
# xrctl start
# xrctl status
啟動 XR Crossroads
5. 好的。現在是時候來檢查該配置是否可以工作正常了。打開兩個網頁瀏覽器,輸入 XR 伺服器的 IP 地址和埠,並查看輸出。
驗證 Web 伺服器負載均衡
太棒了。它工作正常。是時候玩玩 XR 了。(LCTT 譯註:可以看到兩個請求分別分配到了不同伺服器。)
6. 現在可以通過我們配置的網路管理界面的埠來登錄到 XR Crossroads 儀錶盤。在瀏覽器輸入你的 XR 伺服器的 IP 地址和你配置在 xrctl.xml 中的管理埠。
http://172.16.1.204:8010
XR Crossroads 儀錶盤
看起來像上面一樣。它容易理解,用戶界面友好,易於使用。它在右上角顯示每個伺服器能容納多少個連接,以及關於接收該請求的附加細節。你也可以設置每個伺服器承擔的負載量,最大連接數和平均負載等。
最大的好處是,即使沒有配置文件 xrctl.xml,你也可以做到這一點。你唯一要做的就是運行以下命令,它就會把這一切搞定。
# xr --verbose --server tcp:172.16.1.204:8080 --backend 172.16.1.222:8888 --backend 192.168.1.161:5555
上面語法的詳細說明:
- -verbose 將顯示命令執行後的信息。
- -server 定義你在安裝包中的 XR 伺服器。
- -backend 定義你需要平衡分配到 Web 伺服器的流量。
- tcp 說明我們使用 TCP 服務。
欲了解更多詳情,有關文件及 CROSSROADS 的配置,請訪問他們的官方網站: https://crossroads.e-tunity.com/.
XR Corssroads 使用許多方法來提高伺服器性能,避免宕機,讓你的管理任務更輕鬆,更簡便。希望你喜歡此文章,並隨時在下面發表你的評論和建議,方便與我們保持聯繫。
via: http://www.tecmint.com/setting-up-xr-crossroads-load-balancer-for-web-servers-on-rhel-centos/
作者:Thilina Uvindasiri 譯者:strugglingyouth 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive