Программный комплекс AS SMSProxy LBR

Балансировщик нагрузки LBR служит цели увеличения производительности сервера SMSProxy с помощью кластеризации при сохранении функциональности последнего. Один сервер SMSProxy может быть разбит на ферму из N серверов. Тогда LBR может быть использован в качестве сервера прокси для прозрачного доступа к этим N серверам. Далее в этом документе LBR будет иногда называться или как сервер прокси или просто как прокси.

Принцип работы сервера прокси

Ниже изложен принцип работы LBR. Сначала описывается метод проксирования. Далее описано то, как и в каких направлениях передаются пакеты по протоколу SMPP.

Метод проксирования

Подключение к прокси LBR осуществляется также как и к SMSProxy (обработчики ESME будут соединены с клиентом, а обработчики SMSC будут соединены с серверами SMSProxy). Поддерживаются те же режимы подключения: rx, tx, trx и rx/tx.

Группа балансировки описывает, как следует балансировать входящие пакеты, поступающие от клиента через обработчик ESME, на группу из соответствующих обработчиков SMSC (последние передают пакеты на серверы SMSProxy).

В LBR группа балансировки имеет опции, позволяющие, например, балансировать нагрузку таким образом, чтобы пакеты с одним и тем же номером телефона (отправителя, получателя или по обоим номерам сразу) попадали на один и тот же обработчик SMSC, т.е. на соответствующий сервер SMSProxy (а затем и SMSC-сервер).

Передача пакетов по протоколу SMPP

Пакеты протокола SMPP могут передаваться через прокси LBR с минимумом обработки для достижения высокой производительности.

Подключение клиента

При подключении к LBR клиент передает пакет с командой BIND, прокси LBR добавляет к этому пакету информацию об IP-адресе клиента, заворачивая её в блок Optionals под тегом с номером1) 0x1400.

Далее изменённый таким образом пакет с командой BIND передаётся от LBR на серверы SMSProxy, которые могут использовать переданную информацию об исходном адресе IP клиента для фильтрации.

Передача пакетов в прямом направлении

При прямом направлении входящие пакеты принимаются от клиента, а затем передаются на ферму SMSProxy через LBR: клиент → LBR → ферма SMSProxy.

При получении входящего пакета SMPP прокси LBR осуществляет балансировку нагрузки согласно правилам соответствующей группы балансировки. LBR определяет тот сервер SMSProxy, на который следует передать пакет SMPP.

Номера пакетов SMPP не меняются на уровне LBR. Это обеспечивает монотонность номеров пакетов при получении их каждым из SMSProxy.

При получении от сервера SMSProxy ответного пакета LBR передаёт ответ клиенту как есть. Номера пакетов также не требуют изменения.

Передача пакетов в обратном направлении

При обратном направлении входящие пакеты принимаются от серверов SMSProxy, а затем передаются клиенту через LBR: клиент ← LBR ← ферма SMSProxy.

Техническая поддержка