Как работает отказоустойчивый ПринтМенеджер
Как работает отказоустойчивый ПринтМенеджер
Назначение
Принтум поддерживает отказоустойчивую конфигурацию ПринтМенеджера.
Она используется для:
- минимизации downtime;
- балансировки нагрузки;
- работы при отказе узлов.
Общая схема
HAProxy
|
+---------+---------+
| |
v v
ПринтМенеджер 1 ПринтМенеджер 2
Как работает балансировка
HAProxy:
- распределяет запросы;
- проверяет доступность узлов;
- исключает недоступные узлы.
Что происходит при отказе узла
Если один узел недоступен:
- HAProxy перенаправляет запросы;
- пользователи продолжают работать;
- печать продолжается.
Что важно помнить
- Отказоустойчивость не означает отсутствие деградации.
- Во время переключения возможны временные задержки.
- После восстановления узел возвращается в пул балансировки.
Что НЕ гарантирует HA
Отказоустойчивая конфигурация ПринтМенеджера обеспечивает непрерывность работы при отказе отдельного узла, однако имеет ряд принципиальных ограничений:
- Не гарантирует отсутствие деградации при failover. Во время переключения между узлами возможны временные задержки и ошибки для активных сессий.
- Не гарантирует zero downtime. Переключение занимает время; кратковременный простой возможен.
- Не гарантирует real-time статистику при отказе Мониторинга. Если сервер Мониторинга недоступен, данные о печати не передаются в реальном времени.
- Не заменяет резервное копирование. HA защищает от отказа узла, но не от потери данных. Резервные копии необходимо создавать независимо.
- Не защищает от отказа PostgreSQL или NFS. Общие компоненты (база данных, сетевое хранилище) являются единой точкой отказа и требуют отдельного обеспечения отказоустойчивости.
Деградационный режим
В распределённых установках Мониторинг обычно расположен в центральном ЦОДе, а ПринтМенеджер — в филиалах. Схема построена так, чтобы при пропадании связи между филиалом и центром печать не останавливалась. Вот как это работает:
Деградационный режим нужен в филиалах с ненадёжными каналами. В организациях, где филиалы соединены с ЦОДом надёжными линиями связи, достаточно централизованной конфигурации без локальных ПринтМенеджеров — отказоустойчивость достигается кластеризацией центральных серверов.
Детали кластера ПринтМенеджеров
Для непрерывной работы сервиса печати при отказе одного или двух серверов используется кластер ПринтМенеджеров. Основные принципы:
Как работает кластер (пошагово)
Зона ответственности заказчика
Принтум обеспечивает отказоустойчивость приложений, однако ответственность за инфраструктуру остаётся за заказчиком:
Вывод
Для надёжной работы Принтум в филиалах с ненадёжной связью выбирайте распределённую архитектуру с локальными ПринтМенеджерами. При необходимости непрерывной работы в централизованных установках используйте кластер из трёх и более ПринтМенеджеров с балансировщиком нагрузки и репликацией базы данных. Деградационный режим и кластеризация не исключают друг друга и могут быть комбинированы в крупных проектах.