Назад | Перейти на главную страницу

Использование Load Balancer в облаке Rackspace для высокой доступности веб-сайтов

Я тестировал tomcat specific clustering с Apache mod_jk и mod_proxy на локальных виртуальных машинах ubuntu для нашего сайта high availability и load balancing. Настоящие серверы размещены на Rackspace cloud сервер-провайдер. Я тестировал кластеризацию Tomcat с 1 балансировщиком нагрузки и 2 веб-серверами. Поскольку единый балансировщик нагрузки снова является single point of failure, Пытаюсь добавить еще один LB в раб.

В Rackspace есть опция Load Balancers и Вот - это ссылка, которая описывает, как настроить балансировщик нагрузки, который я не уверен в настройке из-за некоторых сомнений, поскольку я никогда не делал этого раньше.

Может ли кто-нибудь порекомендовать мне пошагово, что мне следует и чего не следует, имея только необходимые ресурсы, избегая ненужных затрат?

Ниже приведены вещи, в которых я не уверен и прошу кого-то, кто уже использует Rackspace, помочь мне в настройке балансировки нагрузки:

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

Заранее спасибо!

РЕДАКТИРОВАТЬ: 1

Я слышал, что Rackspace предлагает share an ip между компьютерами, не так ли? Тогда я могу использовать эту опцию. Я буду указывать публичный / общий IP как виртуальный eth0:0 в файле сетевого интерфейса на обоих балансировщиках нагрузки. Вы действительно думаете, что он работает безупречно, даже если публичный IP-адрес указан как виртуальный IP-адрес с интерфейсом eth0: 0 без каких-либо перерывов?

РЕДАКТИРОВАТЬ: 2

Я думал, что настройка похожа на все компьютеры (веб-серверы и балансировщики нагрузки) в локальной сети (в Rackspace) с некоторой сетью (192.168.x.x) с помощью eth0 интерфейс. Для балансировщиков нагрузки, для интерфейса eth0:0 или eth1, общедоступный IP-адрес используется совместно LB, а mod_proxy и mod_jk на LB перенаправляют их на веб-серверы, поскольку они могут находиться в одной сети (192.168.x.x).

После некоторого анализа я понял, что не могу напрямую получить доступ к веб-серверам для тестирования из своего места, поскольку им не назначен общедоступный IP-адрес, и поэтому я снова подумал о добавлении перенаправления прокси, например ProxyPass /web1 http://web1-ip-here на LB для доступа к веб-серверам с общедоступным IP-адресом или доменным именем сайта (я думаю, что он перенаправляет, поскольку все серверы находятся в локальной сети). Но опять же, чтобы обновить или установить некоторые пакеты на веб-серверах, требуется подключение к Интернету. Мне снова интересно, есть ли возможность подключить веб-сервер к WAN с одним общедоступным IP-адресом на LB, и если да, работает ли он без проблем. В противном случае я должен использовать общедоступный IP-адрес для каждого веб-сервера.

Согласно поддержке RS, RS LoadBalancer может обрабатывать до 150 000 подключений. На самом деле это несколько (я бы предположил виртуальных) машин с общедоступным IP-адресом. По нашему опыту, у них довольно хорошее время безотказной работы, и их очень легко настроить и выключить. Один из основных недостатков, который я нахожу в использовании RS LB, заключается в том, что они не выполняют завершение SSL (пока).

Здесь работают два хороших варианта:

1. Аппаратная балансировка нагрузки как услуга Rackspace

Совсем недавно Rackspace добавила свою службу балансировки нагрузки, и для простой веб-пересылки это будет ваш более надежный и экономичный выбор. из панели управления учетной записью вы можете перейти к параметрам балансировки нагрузки в разделе Хостинг -> Балансировка нагрузки.

2: Программная балансировка нагрузки с аварийным переключением

Конечно, вы можете настроить два сервера для балансировки нагрузки и использовать такое программное обеспечение, как HAProxy, для циклического перебора входящего трафика. Это потребует от вас оплаты и обслуживания обоих серверов, а также дополнительных затрат на дополнительный общедоступный IP-адрес, который будет использоваться между ними.

На самом деле серверы не «разделяют» IP-адрес - «главный» контролирует его и является общедоступной точкой контакта для вашей балансировки нагрузки. Две машины связаны друг с другом посредством мониторинга тактового сигнала, и если «подчиненный» сервер обнаруживает, что «главный» не отвечает, он связывает общедоступный IP-адрес и становится главным.

У Rackspace есть статья, в которой они описывают процесс настройки решения для балансировки нагрузки пульса на своем веб-сайте: http://www.rackspace.com/knowledge_center/index.php/IP_Failover_-_Setup_and_Installing_Heartbeat

Во-первых, зачем вам 4 машины, если вы можете использовать только 2. Вы можете настроить балансировщик нагрузки на тех же машинах, которые планируете использовать в качестве веб-серверов. Далее вы можете купить так называемый "общий IP" из Rackspace и настройте Heartbeat для управления им. Я пробовал эту настройку в облаке Rackspace, и она работала очень хорошо. Я использовал HAProxy в качестве балансировщика и настоятельно рекомендую вам использовать его, его довольно легко настроить.