歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> RHEL/CentOS上為Web服務器架設 “XR”(Crossroads) 負載均衡器

RHEL/CentOS上為Web服務器架設 “XR”(Crossroads) 負載均衡器

日期:2017/2/27 15:47:24   编辑:Linux教程

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步:在網關服務器上安裝 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 中的管理端口。

  1. 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:https://linux.cn/article-5867-1.html

Copyright © Linux教程網 All Rights Reserved