CommuniGate Pro
Версия 6.4
 

Передача Почты в Кластерах

В этом разделе объясняется, каким образом работает Передача Почтовых Сообщений в кластерной среде CommuniGate Pro.




Релеинг по SMTP

Входящие SMTP соединения принимаются Балансировщиком Нагрузки TCP и отправляются на Frontend Серверы Кластера. Frontend Сервер получает сообщение так же, как и при работе в режиме одиночного сервера, но при этом он может контактировать с Backend Серверами (через CLI) в случае, если ему необходимо:
  • аутентифицировать отправителя
  • проверить адреса отправителя и получателя
  • проверить состояние получателя
  • получить ограничения для отправителя

Полученные сообщения ставятся в очередь. Если сообщение направляется на внешний адрес, оно может быть ретранслировано этим же Frontend Сервером:

Релеинг по SMTP в Кластере

Местная Доставка

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

Такая ситуация может возникнуть, если сообщение устанавливается в очередь на Frontend Сервере (Frontend Серверы не могут напрямую открывать данные Пользователя в Общих Доменах), либо если сообщение устанавливается в очередь на Backend Сервере, который не является Хост Сервером для требуемого пользователя (в Статическом Кластере) или не может открыть его данные, потому что они открыты на каком-либо другом Backend Сервере (в Динамическом Кластере).

Для того, чтобы решить эту проблему, модуль Местной Доставки использует соединения по каналу Доставки с правильным Backend Сервером и передаёт ему сообщение. Получающий Backend Сервер немедленно открывает данные требуемого Пользователя, применяет его Правила уровня Пользователя и сохраняет переданное сообщение. Этот Backend Сервер не устанавливает сообщение в очередь.

Если при доставке сообщений возникает сбой или другая временная проблема, то получающий Backend Сервер уведомляет отправителя об ошибке и сообщение либо задерживается в Очереди, либо удаляется из Очереди (в этом случае генерируются уведомления об ошибке).

Местная Доставка в Кластере

Очереди на Backend Серверах

Веб Интерфейса Пользователя, XIMSS, сессии MAPI, Правила, а также другие модули и компоненты могут создавать на Backend Серверах сообщения электронной почты.

Backend Сервер часто не имеет прямого доступа в Интернет и, в таком случае, он не может доставлять созданные сообщения на удалённые системы. Для решения этой проблемы Backend Серверы могут быть при помощи символа *, заданного в качестве имени Пересылающего SMTP Сервера сконфигурированы на релеинг всех сообщений на Frontend Серверы.

В этом случае, сообщение поступает в Очередь Backend Сервера, где оно обрабатывается с использованием Общесерверных и Общекластерных Правил и, если оно не направляется локальному получателю, оно направляется в SMTP модуль, который передаёт его одному из Frontend Серверов:

Отправка в Кластере

При такой конфигурации каждое созданное на Backend Сервере сообщение обрабатывается дважды. Если в Кластерных Правилах используются Дополнительные Модули, анализирующие содержимое сообщения, то такая двойная обработка может потреблять большое количество ресурсов системы.

Для того, чтобы этого избежать, может использоваться метод Обработки Удалённой Очереди.


Обработка Удалённых Очередей

Большая часть работы по обработке Очереди происходит на Frontend Серверах. Frontend Серверы принимают входящие сообщения по SMTP и, либо ретранслируют их далее, либо, при помощи специального протокола внутрикластерного взаимодействия, доставляют их локальным Пользователям на Backend Серверы, не помещая их в Очереди Backend Серверов.

Некоторое количество сообщений может создаваться непосредственно на Backend Серверах.

Такие сообщения включают в себя:
  • созданные в Веб Интерфейсе Пользователя, XIMSS, AirSync, CalDAV сессии;
  • сообщения, поступившие через MAPI-Коннектор и механизмы XTND XMIT протокола POP3;
  • сообщения, созданные Правилами уровня Пользователя;
  • сообщения, полученные модулем RPOP;
  • сообщения, поступившие через модуль PIPE.
Возможно, по различным причинам вы захотите избежать обработки на Backend Серверах Очередей Сообщений, например:
  • отсутствие соединения с Интернет на Backend Серверах;
  • необходимость использования Дополнительных Модулей по борьбе со спамом и с вирусами, установленными только на Frontend Серверах;
  • недостаток вычислительной мощности и/или дискового пространства на Backend Серверах.

Вы также можете обрабатывать Очереди Сообщений только на некоторых из Frontend Серверов.

Для того, чтобы указать опции Обработки Очереди, откройте через Веб Интерфейс Администратора область Установки и выберите на странице Общее ссылку Кластеры. Найдите панель Обработки Очереди:

Обработка Очереди
Отправление Сообщений: Журнал Удалённой Отправки:
Отправление Сообщений
Эта настройка указывает, каким образом сформированные или полученные сообщения электронной почты передаются в компонент Установка в Очередь для дальнейшей доставки.
Локально
сообщения передаются в компонент Установка в Очередь того же Сервера (это обычный, односерверный режим обработки).
Локально для Других
сообщение передаются в компонент Установка в Очередь того же Сервера.
Контроллер Динамического Кластера информируется о том, что этот Сервер может принимать (ставить в очередь) сообщения электронной почты созданные или полученные другими членами Кластера.
Контроллер Динамического Кластера собирает и распространяет информацию обо всех активных членах Кластера, у которых выбрана эта опция.
Удалённо
сообщения передаются тому члену Кластера, у которого эта настройка имеет значение Локально для Других. Содержимое временных файлов сообщений (конверт сообщения и само сообщение) отправляется другому члену Кластера по специальному протоколу через порт SMTP. Если сообщение не удаётся отправить (Сервер не смог соединиться с членами Кластера или передача файла сообщения закончилась неуспешно) то, чтобы сообщение не было потеряно, оно поступает в очередь Сервера:
Удалённая Отправка в Кластере
Автоматически
  • если этот Сервер не входит в Динамический Кластер, так же, как Локально
  • если этот Сервер является Frontend-ом Динамического Кластера, так же, как Локально для других
  • если этот Сервер является Backend-ом Динамического Кластера, так же, как Удалённо если есть другие члены Динамического кластера настроенные как Локально для других, если нет - так же, как Локально
Журнал Удалённой Отправки
Используйте эту настройку для того, чтобы указать, какая информация, сохраняемая в Журнале работы Сервера, будет записываться в журнал о передаче сообщений на удалённый (другой) Сервер.
Эти записи имеют метку SUBMIT.

Руководство CommuniGate Pro. Copyright © 2020-2023, АО СталкерСофт