LINUX.ORG.RU
ФорумAdmin

Кластеризация IP-адреса


0

1

Hi community,

разрабатываем отказоустойчивое хранилище на основе БД Postgres, коллега предлагает, помимо пула балансировщиков нагрузки ( в виде pgpool-II ) на сервера еще и применить аппаратное решение по передаче запросов на пул балансировщиков. Есть ли у такого решения подводные грабли? Способен ли маршрутизатор ступить и передать часть пакетов сессии, ранее установленной с сервером 1, на сервер 2? Что-то еще может быть?

Ну какие грабли могут быть у железки за несколько тыщ долларов? Берите какой-нить F5 Big-IP или Cisco ACE и не парьтесь, разруливать сессии они нормально умеют

zolden ★★★★★
()
Ответ на: комментарий от zolden

> разруливать сессии они нормально умеют

что это означает? разорвет TCP сессию или молча погонит на другой сервер?

anymouse
() автор топика
Ответ на: комментарий от anymouse

Не совсем понятно, чего вы хотите/опасаетесь. Опишите юскейс полностью. У вас же наверняка есть какой-то контроль транзакций на уровне приложения, а не только на сетевом/ транспортном уровне. ТСР сессия порвётся, так как узел с которым она была установлена сдох, возможно на другой узел в пуле даже долетят пэйлоад пакеты, ну или какой-нибудь RST пакет, если из-за разницы таймаутов балансер не успеет дропнуть сессию из таблицы, но так как новый узел ничего не знает об этой ТСР сессии, то он просто дропнет эти пакеты. Зато следующий SYN уже нормально на него пройдёт. Но в общем случае, раз балансер перекинул трафик на другой хост в пуле, это означает разрыв предыдущей сессии. Так что в идеале она сразу порвётся, другой хост не получит обрывки из существовавшей сессии, а клиент просто пошлёт несколько пакетов в никуда.

VRRP используется для резервирования маршрутизаторов и работает на 2м уровне, балансировка это наверно не тот случай, как я понимаю она работает на 7м уровне

zolden ★★★★★
()
Ответ на: комментарий от zolden

Юзкейс следующий. Есть 2 Postgres сервера, есть 2 pgpool - сервиса, который стоят на тех же машинах, что и сервисы, реализующие бизнес-логику. Идея состоит в том, чтобы сервисы с бизнес-логикой соединялись не напрямую с pgpool, а через маршрутизатор, в котором реалиpована логика выбора живого IP.

Я прочитал http://xgu.ru/wiki/VRRP , вижу что этот протокол скорее предоставляет алгоритм, по которому физические маршрутизаторы выберут, кто из них будет обслуживать некий виртуальный адрес шлюза. То есть, протокол ориентирован на маршрутизаторы, а не сервисы. Может быть, есть еще какие-то технологии, относящиеся к виртулизации endpoint'ов сервисов?

anymouse
() автор топика
Ответ на: комментарий от anymouse

Каких-то протоколов нет, балансировка происходит на уровне приложения (Apllication layer OSI), а там кто во что горазд.
Вы может либо использовать либо готовое железячное решение от упомянутых вендоров, либо использовать свою свободную железку работающую под линупсом и развернуть на ней LVS.
Для экспериментов и изучени мат.части думаю вам LVS будем в самый раз, решения от вендоров дороги, и потребуют соответствующего специалиста, либо тренинга от вендора, который тоже стоит немало.

zolden ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.