Высокая доступность
Для крупных компаний с большими объемами данных и критичными требованиями к доступности приложений рекомендуется развертывание АРХИВА в конфигурации, обеспечивающей высокую доступность (High Availability) и повышенную производительность. Используя встроенный механизм маршрутизации, можно настроить систему для приема SMTP/Milter-трафика на определенный порт, архивирования почты и последующего перенаправления ее на соседний сервер. Такая схема позволяет реализовать репликацию данных между двумя или более серверами в цепочке.
Шаги настройки
Установите и сконфигурируйте АРХИВА идентичным образом на каждом сервере.
На серверах A и B в разделе
Настройки → Коннекторысоздайте коннектор SMTP для приема журналируемого трафика с почтовых серверов на порт 25.Аналогично на обоих серверах создайте коннектор SMTP для приема HA-трафика на порт 8091.
На сервере A в разделе
Настройки → Соединениясоздайте клиентское SMTP-соединение, перенаправляющее HA-трафик на IP-адрес (порт 8091) сервера B.Установите максимальное количество повторных попыток равным 0.
Увеличьте лимит очереди до 100 000 или более.
На сервере B создайте клиентское SMTP-соединение, перенаправляющее HA-трафик на IP-адрес (порт 8091) сервера A.
Установите максимальное количество повторных попыток равным 0.
Увеличьте лимит очереди до 100 000 или более.
На серверах A и B в разделе
Настройки → Маршрутысоздайте новый маршрут со следующей логикой:прием журналируемого трафика на SMTP-коннекторе (порт 25);
архивирование сообщения;
пересылка трафика на клиентское соединение HA SMTP.
В разделе
Настройки → Основной → Архивувеличьте максимальный размер очереди до 100 000 или выше, исходя из вашего объема трафика.
При такой конфигурации:
Балансировка
Для равномерного распределения SMTP-трафика между всеми серверами можно использовать балансировщик нагрузки (например, Nginx). Это позволяет значительно увеличить общую пропускную способность системы и повысить отказоустойчивость за счет избыточности серверов и хранилищ.
Если один из серверов становится недоступен, балансировщик перенаправляет весь трафик на оставшиеся узлы. После восстановления работоспособности упавшего сервера остальные узлы в цепочке автоматически перешлют накопившиеся сообщения, чтобы восстановить целостность данных.
Для обеспечения максимальной производительности рекомендуется оснастить каждый сервер двумя сетевыми картами по 1 Гбит/с. Один интерфейс следует выделить для приема трафика от балансировщика, а второй — для межсерверного обмена HA-трафиком.
Кроме того, балансировщик может распределять HTTP/S-трафик пользователей между серверами. Для сохранения сессий пользователей рекомендуется включить режим sticky sessions. Это гарантирует, что все запросы пользователя в рамках одной сессии будут обрабатываться одним и тем же сервером.