Crossroads 是一個獨立的服務,它是一個用於Linux和TCP服務的開源負載均衡和故障轉移實用程序。它可用於HTTP,HTTPS,SSH,SMTP 和 DNS 等,它也是一個多線程的工具,在提供負載均衡服務時,它可以只使用一塊內存空間以此來提高性能。
首先來看看 XR 是如何工作的。我們可以將 XR 放到網絡客戶端和服務器之間,它可以將客戶端的請求分配到服務器上以平衡負載。
如果一台服務器宕機,XR 會轉發客戶端請求到另一個服務器,所以客戶感覺不到停頓。看看下面的圖來了解什麼樣的情況下,我們要使用 XR 處理。
安裝 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.222,webserver01 為172.16.1.222,它監聽8888端口,webserver02 是192.168.1.161,它監聽端口5555。
現在,我們需要的是均衡所有的請求,通過 XR 網關從網上接收請求然後分發它到兩個web服務器已達到負載均衡。
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
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
上面語法的詳細說明:
欲了解更多詳情,有關文件及 CROSSROADS 的配置,請訪問他們的官方網站: https://crossroads.e-tunity.com/.
XR Corssroads 使用許多方法來提高服務器性能,避免宕機,讓你的管理任務更輕松,更簡便。希望你喜歡此文章,並隨時在下面發表你的評論和建議,方便與我們保持聯系。
via:https://linux.cn/article-5867-1.html