Tegu является масштабируемым сервером, что позволяет ему оставаться эффективным как для нескольких сотен, так и для нескольких сотен тысяч пользователей. Вам необходимо только выбрать подходящую схему его установки.
1. Автономный сервер
Самостоятельный сервер начального уровня, не требующий никаких дополнительных компонентов.
Преимущества | Недостатки |
---|---|
Сервер не требует дополнительной инфраструктуры Свободная лицензия Простота реализации |
Отсутсивие доменной авторизации Сервер реализует базовые функции транспорта почты |
2. Сервер, интегрированный с контроллерами доменов
Корпоративное решение, в котором управление пользователями полностью осуществляется с помощью контроллера доменов.
Преимущества | Недостатки |
---|---|
Интеграция с доменными контроллерами Большой набор сервисов и служб Простота реализации |
Отказоустойчивость достигается средствами резервного копирования или системами виртуализации |
3. Кластерное отказоустойчивое решение
Использование фермы – наиболее подходящее решение для организации сервиса высокой доступности для нескольких тысяч пользователей.
Обратите внимание, что балансировщик и SQL-сервер поставляются отдельно.
Как это работает?
Все запросы к серверу поступаю на систему балансировки (далее балансировщик). Вообще говоря, балансировщик (хотя и необходим) не относится к почтовому серверу, а относится к сетевому оборудованию и может быть реализован различными средствами и методами. По этой причине бадансировщик в данной статье не описывается, а представляется “черным ящиком”.
Нам важно понимать, что балансировщик настроен согласно определенным правилам и имеет постоянную обратную связь о нода, между которыми он балансирует нагрузку.
Таким образом, каждая нода с установленным экземпляром сервера Tegu Pro является самостоятельной и
получает собственную часть сетевого трафика. Вновь запущенный экземпляр Tegu обращается к централизованному хранилищу почты, реализованному в помощью базы данных Posgres Pro (далее БД).
Здесь опять необходимо заметить, что база данных в данной статье подробно не описывается и принимается “черным ящиком” по той причине, что также может быть реализована различными способами в т.ч. в кластерном (мультисерверном) исполнении и т.п.
Итак, экземпляр Tegu стартовал и считал свою конфигурацию из базы данных, далее он сообщает о том, что готов к работе балансировщику и соседним нодам Tegu. Теперь нода получает запросы пользователей через балансировщик, заносит их в общую очередь в БД (маркируя при этом собственным ID) и возвращает результат пользователям.
Tegu оптимизирован так, что забирает запросы пакетами, поэтому по умолчанию ноде дается приоритет на выполнение собственных запросов в очереди, однако если нода выходит из строя, то это становится известно балансировщику, который вносит коррективы (перестает отправлять запросы ноде), это становится известно соседним нодам, которые принимают решение о необходимости работы с запросами пропавшей ноды.
Таким образом, при выходе из строя любой из нод, с пользовательской точки зрения ничего не происходит, информация не теряется, ранее сделанные запросы выполняются.
Преимущества | Недостатки |
---|---|
Неограниченная масштабируемость Высокая доступность сервисов Возможность обслуживания нод без остановки сервиса Эффективное использование оборудования |
Требуется компетенции при реализации решения |