Поиск по сайту:

Настройка балансировщика нагрузки XR (Crossroads) для веб-серверов на RHEL/CentOS


Crossroads — это независимая от служб утилита с открытым исходным кодом для балансировки нагрузки и аварийного переключения для служб на базе Linux и TCP. Его можно использовать для HTTP, HTTPS, SSH, SMTP, DNS и т. д. Это также многопоточная утилита, которая использует только одно пространство памяти, что приводит к увеличению производительности при балансировке нагрузки.

Давайте посмотрим, как работает XR. Мы можем расположить XR между сетевыми клиентами и множеством серверов, которые отправляют клиентские запросы на серверы, балансирующие нагрузку.

Если сервер не работает, XR перенаправляет следующий клиентский запрос на следующий сервер в очереди, поэтому клиент не чувствует простоя. Взгляните на диаграмму ниже, чтобы понять, с какой ситуацией мы собираемся справиться с помощью XR.

Есть два веб-сервера, один сервер-шлюз, который мы устанавливаем и настраиваем 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.222, webserver01172.16.1.222, и он прослушивает порт 8888 и webserver02192.168.1.161, и он прослушивает порт 5555.

Теперь все, что мне нужно, это сбалансировать нагрузку всех запросов, которые получает шлюз XR из Интернета, и распределить их между двумя веб-серверами, балансирующими нагрузку.

Шаг 1. Установите балансировщик нагрузки XR Crossroads на сервере шлюза.

1. К сожалению, для Crossroads не существует двоичных пакетов RPM, это единственный способ установить XR Crossroads из исходного архива.

Чтобы скомпилировать XR, в вашей системе должен быть установлен компилятор C++ и утилиты Gnu make, чтобы продолжить установку без ошибок.

yum install gcc gcc-c++ make

Затем загрузите архив с исходным кодом, перейдя на их официальный сайт (https://crossroads.e-tunity.com) и заархивируйте пакет (т. е. crossroads-stable.tar.gz).

Альтернативно вы можете использовать следующую утилиту wget, чтобы загрузить пакет и извлечь его в любое место (например: /usr/src/), перейти в распакованный каталог и выполнить команду «< Strong>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/, а конфигурация XR — в папке /etc, а именно «xrctl.xml».

2. В качестве последнего обязательного условия вам понадобятся два веб-сервера. Для простоты использования я создал два экземпляра Python SimpleHTTPServer на одном сервере.

Чтобы узнать, как настроить SimpleHTTPServer на Python, прочитайте нашу статью «Легкое создание двух веб-серверов с помощью SimpleHTTPServer».

Как я уже сказал, мы используем два веб-сервера, и они webserver01 работают на 172.16.1.222 через порты 8888 и . webserver02 работает по адресу 192.168.1.161 через порт 5555.

Шаг 2. Настройка балансировщика нагрузки XR Crossroads

3. Все реквизиты имеются. Теперь нам нужно настроить файл xrctl.xml для распределения нагрузки между веб-серверами, которую XR-сервер получает из Интернета.

Теперь откройте файл xrctl.xml в редакторе vi/vim.

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>

Здесь вы можете увидеть очень простую конфигурацию XR, выполненную в xrctl.xml. Я определил, что такое сервер XR, что такое серверные серверы, их порты и порт веб-интерфейса для XR.

4. Теперь вам нужно запустить демон XR, введя приведенные ниже команды.

xrctl start
xrctl status

5. Хорошо, отлично. Теперь пришло время проверить, нормально ли работают конфиги. Откройте два веб-браузера, введите IP-адрес сервера XR с портом и посмотрите результат.

Фантастика. Он работает нормально. теперь пришло время поиграть с XR.

6. Теперь пришло время войти в панель управления XR Crossroads и увидеть порт, который мы настроили для веб-интерфейса. Введите IP-адрес вашего сервера XR с номером порта для веб-интерфейса, который вы настроили в xrctl.xml.

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. –backend определяет веб-серверы, на которые вам необходимо сбалансировать трафик.
  4. Tcp определяет, что он использует службы TCP.

Для получения более подробной информации о документации и настройке CROSSROADS посетите их официальный сайт: https://crossroads.e-tunity.com/.

XR Corssroads предлагает множество способов повысить производительность вашего сервера, сократить время простоев и сделать ваши задачи администрирования проще и удобнее. Надеюсь, вам понравилось руководство, и не стесняйтесь оставлять комментарии ниже для предложений и разъяснений. Оставайтесь на связи с Tecmint, чтобы получить полезные инструкции.

Читайте также: установка балансировщика нагрузки Pound для управления нагрузкой на веб-сервер