网站搜索

为 RHEL/CentOS 上的 Web 服务器设置“XR”(十字路口)负载均衡器


Crossroads 是一个独立于服务的开源负载平衡和故障转移实用程序,适用于 Linux 和基于 TCP 的服务。它可用于 HTTP、HTTPS、SSH、SMTP 和 DNS 等。它也是一个多线程实用程序,仅消耗一个内存空间,从而提高平衡负载时的性能。

让我们看看 XR 是如何工作的。我们可以将 XR 定位在网络客户端和一组服务器之间,这些服务器将客户端请求分派到平衡负载的服务器。

如果服务器宕机,XR 会将下一个客户端请求转发到队列中的下一个服务器,因此客户端不会感到宕机。看一下下图,了解我们将使用 XR 处理什么样的情况。

有两台 Web 服务器,一台网关服务器,我们安装并设置 XR 来接收客户端请求并将其分发到服务器之间。

XR Crossroads Gateway Server : 172.16.1.204
Web Server 01 : 172.16.1.222
Web Server 02 : 192.168.1.161

在上面的场景中,我的网关服务器(即 XR Crossroads)具有 IP 地址 172.16.1.222webserver01172.16.1.222 并且它监听端口 8888webserver02192.168.1.161,它通过端口 5555 进行侦听。

现在我需要的只是平衡 XR 网关从互联网接收的所有请求的负载,并将它们分发到两个平衡负载的 Web 服务器之间。

步骤1:在网关服务器上安装XR Crossroads负载均衡器

1. 不幸的是,没有任何可用于 crosscrossroads 的二进制 RPM 软件包,这是从源 tarball 安装 XR crossroads 的唯一方法。

要编译 XR,您必须在系统上安装 C++ 编译器和 Gnu make 实用程序,以便继续安装而不出错。

yum install gcc gcc-c++ make

接下来,访问其官方网站 (https://crossroads.e-tunity.com) 下载源 tarball,并获取存档包(即 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

安装完成后,将在 /usr/sbin/ 下创建二进制文件,并在 /etc 中创建 XR 配置,即“xrctl.xml”。

2. 作为最后一个先决条件,您需要两个网络服务器。为了便于使用,我在一台服务器中创建了两个 python SimpleHTTPServer 实例。

要了解如何设置 python SimpleHTTPServer,请阅读我们的文章使用 SimpleHTTPServer 轻松创建两个 Web 服务器。

正如我所说,我们使用两个网络服务器,它们是通过端口 8888172.16.1.222 上运行的 webserver01 webserver02 通过端口 5555192.168.1.161 上运行。

步骤 2:配置 XR Crossroads 负载均衡器

3.所有必要条件均已到位。现在我们要做的是配置 xrctl.xml 文件以在 XR 服务器从互联网接收的 Web 服务器之间分配负载。

现在使用 vi/vim 编辑器打开 xrctl.xml 文件。

vim /etc/xrctl.xml

并按照下面的建议进行更改。

<?xml version=<94>1.0<94> encoding=<94>UTF-8<94>?>
<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>

在这里,您可以看到在 xrctl.xml 中完成的非常基本的 XR 配置。我已经定义了 XR 服务器是什么、后端服务器及其端口以及 XR 的 Web 接口端口是什么。

4. 现在您需要通过发出以下命令来启动 XR 守护程序。

xrctl start
xrctl status

5. 好的,太好了。现在是时候检查配置是否正常工作了。打开两个 Web 浏览器并输入 XR 服务器的 IP 地址和端口并查看输出。

极好的。效果很好。现在是时候玩一下 XR 了。

6. 现在是时候登录 XR Crossroads 仪表板并查看我们为 Web 界面配置的端口了。输入 XR 服务器的 IP 地址以及您在 xrctl.xml 中配置的 Web 界面的端口号。

http://172.16.1.204:8010

这就是它的样子。它易于理解、用户友好且易于使用。它在右上角显示每个后端服务器收到的连接数以及有关接收请求的其他详细信息。甚至你可以设置每台服务器需要承受的负载权重、最大连接数和平均负载等。

最好的部分是,即使不配置 xrctl.xml,您实际上也可以做到这一点。您唯一需要做的就是使用以下语法发出命令,它将完成工作。

xr --verbose --server tcp:172.16.1.204:8080 --backend 172.16.1.222:8888 --backend 192.168.1.161:5555

上述语法的详细解释:

  1. -verbose 将显示命令执行后发生的情况。
  2. –server 定义您安装了软件包的 XR 服务器。
  3. -后端定义您需要平衡流量的网络服务器。
  4. Tcp 定义它使用 TCP 服务。

有关 CROSSROADS 的文档和配置的更多详细信息,请访问其官方网站:https://crossroads.e-tunity.com/。

XR Corssroads 支持多种方式来增强您的服务器性能、保护停机时间并使您的管理任务更加轻松便捷。希望您喜欢本指南,并随时在下面发表评论以获取建议和说明。与 How To 保持联系以获取方便的操作方法。

另请阅读:安装 Pound 负载均衡器来控制 Web 服务器负载