# Типовые конфигурации

# Типовые конфигурации развёртывания

## Кратко

Принтум поддерживает несколько схем развёртывания. Выбор определяется требованиями к отказоустойчивости, нагрузке и инфраструктуре.

## Сравнение конфигураций

| Конфигурация | Когда применять | Отказоустойчивость | | ------------------------ | ------------------------------------- | ---------------------------- | | Сингл | Пилот, небольшая организация | Нет | | Сплит | Средняя нагрузка, разделение ролей | Нет | | Кластер Active-Active | Высокая нагрузка, критичность к сбоям | Да, на уровне ПринтМенеджера | | Филиальный ПринтМенеджер | Удалённые офисы, нестабильный канал | Локальная автономность |

## Кластер Active-Active

Формула: **T = 2F + 1**, где T — количество серверов ПринтМенеджера, F — допустимое число отказов.

| Серверов | Допустимых отказов | Нагрузка | | -------- | ------------------ | ------------------ | | 1 | 0 | до 100 заданий/мин | | 3 | 1 | до 250 заданий/мин | | 5 | 2 | 400+ заданий/мин |

## Что важно помнить

- Active-Passive не поддерживается — использовать Active-Active
- Кластеризуется только ПринтМенеджер, Мониторинг не кластеризуется
- Отказоустойчивость PostgreSQL, HAProxy и NFS обеспечивается заказчиком

## Связанные страницы

- [Обзор системы Принтум](http://wiki.printum.io/books/1-arxitektura-i-koncepcii/page/obzor-sistemy-printum)
- [Синхронизация Мониторинга и ПринтМенеджера](http://wiki.printum.io/books/1-arxitektura-i-koncepcii/page/sinxronizaciia-monitoringa-i-printmenedzera)

# Как Принтум работает при отказе Мониторинга

# Как Принтум работает при отказе Мониторинга

## Назначение

Принтум поддерживает сценарий, при котором Мониторинг временно недоступен, а печать продолжает работать.

Это позволяет:
- не останавливать печать;
- сохранять работоспособность филиалов;
- минимизировать влияние отказа центрального сервера.

## Что происходит при отказе Мониторинга

Если Мониторинг недоступен:
- ПринтМенеджер продолжает работать;
- пользователи могут печатать;
- release-печать продолжает работать;
- авторизация пользователей продолжает работать.

## Что может быть недоступно

Во время отказа Мониторинга могут быть недоступны:
- обновление статистики;
- новые синхронизации пользователей;
- обновление конфигурации;
- часть отчетов.

## Что происходит после восстановления

После восстановления Мониторинга:
- синхронизация продолжается;
- статистика догружается;
- очереди обновляются;
- данные становятся доступны в отчетах.

## Что важно помнить

- Мониторинг не участвует напрямую в процессе печати.
- ПринтМенеджер продолжает локальную работу.
- Система поддерживает degraded mode.

# Как работает филиальная архитектура Принтум

# Как работает филиальная архитектура Принтум

## Назначение

Принтум поддерживает распределенную архитектуру с филиалами.

Это позволяет:
- размещать ПринтМенеджер локально в филиале;
- продолжать печать при проблемах связи;
- снижать нагрузку на центральный сервер.

## Общая схема

```text
Центральный Мониторинг
          |
          |
    HTTP Sync
          |
          v
Локальный ПринтМенеджер филиала
          |
          v
Принтеры филиала
```

## Как работает печать

### Центральный Мониторинг

Используется для:
- пользователей;
- конфигурации;
- статистики;
- управления системой.

### Локальный ПринтМенеджер

Используется для:
- локальной обработки печати;
- release-печати;
- работы с очередями;
- взаимодействия с устройствами.

## Что происходит при потере связи

Если связь с центральным Мониторингом потеряна:
- локальный ПринтМенеджер продолжает работать;
- печать продолжается;
- задания сохраняются локально.

## Что происходит после восстановления связи

После восстановления:
- выполняется синхронизация;
- статистика передается в Мониторинг;
- обновляются конфигурации.

# Как работает отказоустойчивый ПринтМенеджер

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

# Как работает балансировка нагрузки

# Как работает балансировка нагрузки

## Назначение

Балансировка нагрузки используется для:
- распределения запросов;
- повышения отказоустойчивости;
- масштабирования системы.

## Используемый компонент

Для балансировки используется HAProxy.

## Какие запросы балансируются

Балансируются:
- HTTP API;
- запросы Встроенного приложения;
- запросы авторизации;
- запросы release-печати.

## Как определяется доступность узла

Балансировщик:
- периодически проверяет health-check;
- исключает недоступные узлы;
- возвращает узлы после восстановления.

## Что происходит при отказе узла

Если узел недоступен:
- запросы перенаправляются;
- активные пользователи продолжают работу.

## Что важно помнить

- Балансировка не заменяет резервное копирование.
- Все узлы должны иметь одинаковую конфигурацию.

# Режим деградации — что работает при частичном отказе

# Режим деградации — что работает при частичном отказе

## Назначение

Degraded mode — режим частичной деградации системы, при котором часть компонентов недоступна, но ключевые функции продолжают работать.

## Что может вызвать degraded mode

- отказ Мониторинга;
- отказ одного узла ПринтМенеджера;
- потеря связи между площадками;
- временная недоступность LDAP.

## Что обычно продолжает работать

| Функция | Работает |
|---|---|
| Прямая печать | Да |
| Release-печать | Да |
| Авторизация | Да |
| Очереди | Да |

## Что может работать ограниченно

| Функция | Ограничение |
|---|---|
| Статистика | Может обновляться позже |
| Синхронизация | Возможна задержка |
| Отчеты | Возможна неполная информация |

## Что происходит после восстановления

После восстановления:
- выполняется повторная синхронизация;
- восстанавливается статистика;
- обновляются состояния.

# Поддерживаемые сценарии отказоустойчивости

# Поддерживаемые сценарии отказоустойчивости

## Назначение

Принтум поддерживает различные сценарии отказоустойчивости.

## Поддерживаемые сценарии

| Сценарий | Поддерживается |
|---|---|
| Отказ Мониторинга | Да |
| Отказ одного узла ПринтМенеджера | Да |
| Балансировка через HAProxy | Да |
| Работа филиала без центрального сервера | Да |
| Отложенная синхронизация статистики | Да |

## Что происходит при отказах

### Отказ Мониторинга

Продолжают работать:
- печать;
- release;
- очереди;
- авторизация.

### Отказ узла ПринтМенеджера

Запросы перенаправляются балансировщиком.

### Потеря связи филиала

Локальный ПринтМенеджер продолжает локальную работу.

## Ограничения

Не гарантируется:
- real-time статистика при отказе Мониторинга;
- мгновенная синхронизация после восстановления;
- отсутствие кратковременной деградации при failover.

## Что важно помнить

- Отказоустойчивость снижает downtime, но не исключает деградацию.
- Требуется корректная настройка инфраструктуры.

# Отказоустойчивость и деградационные сценарии Printum

---
Page Type: Overview
Component: Printum
Domain: Architecture
Product Versions: All
OS: Not applicable
Status: Draft
Related Components:
  - ПринтМенеджер
  - Мониторинг
  - Сетевой агент
---

# Отказоустойчивость и деградационные сценарии Printum

Printum разрабатывался для предприятий с высокими требованиями к непрерывности печати и
постоянному сбору статистики. Система должна продолжать работать даже при отказах
серверов или проблемах со связью. Эта статья описывает две ключевые темы: **деградационный
режим** (branch‑mode при разрыве связи) и **высокую доступность** (кластер из нескольких
серверов управления печатью).

## Деградационный режим

В распределённых установках Мониторинг обычно расположен в центральном ЦОДе, а
ПринтМенеджер — в филиалах. Схема построена так, чтобы при пропадании связи между
филиалом и центром печать не останавливалась. Вот как это работает:

* **Локальный ПринтМенеджер** в филиале имеет собственные очереди и обслуживает
  пользователей филиала. Он подключается к Мониторинг для синхронизации
  пользователей и МФУ, но может работать автономно.
* Если связь между ПринтМенеджер и Мониторинг пропадает, пользователи в филиале
  продолжают печать, копирование и сканирование. Очереди и правила локально
  продолжают работать.
* В деградационном режиме **новые пользователи и изменения конфигурации** из домена не
  передаются в филиал, а статистика о заданиях и счётчиках не выгружается в Мониторинг.
* После восстановления канала связи все накопленные данные синхронизируются,
  Мониторинг получает статистику, а ПринтМенеджер обновляет список пользователей и
  устройств.

Деградационный режим нужен в филиалах с ненадёжными каналами. В организациях, где
филиалы соединены с ЦОДом надёжными линиями связи, достаточно централизованной
конфигурации без локальных ПринтМенеджер — отказоустойчивость достигается
кластеризацией центральных серверов.

## Высокая доступность ПринтМенеджер

Для непрерывной работы сервиса печати при отказе одного или двух серверов используется
кластер ПринтМенеджер. Основные принципы:

* **Минимум три ноды**. Алгоритм отказоустойчивости требует 2F+1 узлов, чтобы пережить
  отказ F узлов. При двух нодах отказ одной приведёт к потере кворума.
* **Балансировщик нагрузки** (например, HAProxy) распределяет задания между
  серверами. Балансировщик можно настроить с резервированием, но сам Printum
  поставляется с автоматизированными шаблонами настройки HAProxy.
* **Обособленные сервисы**: база данных Printum и файловое хранилище (куда
  помещаются документы и теневые копии) размещаются на отдельном сервере
  или кластере. Отказ сервера с базой данных не должен останавливать всю
  систему, поэтому базу данных и файловое хранилище необходимо реплицировать на
  стороне заказчика.
* **Разделение ролей**: Мониторинг, ПринтМенеджер, база данных и файловое
  хранилище могут быть на разных серверах. На практике часто Мониторинг и
  один из ПринтМенеджер размещают на одном хосте, остальные PM — на отдельных.

### Как работает кластер

1. Пользователь отправляет задание на виртуальный МФУ Printum.
2. Балансировщик выбирает живой узел ПринтМенеджер и передаёт задание.
3. ПринтМенеджер обрабатывает задание, хранит метаданные в общей базе,
   сохраняет файл в общую папку и отправляет на физический МФУ после авторизации.
4. Если один из ПринтМенеджер выходит из строя, балансировщик исключает его из
   пула; остальные узлы продолжают работу без прерывания сервиса. Пока не восстановится
   кворум, система должна поддерживать минимум две активные ноды.
5. Администраторы восстанавливают упавший сервер или вводят новый. Система автоматически
   синхронизирует очереди и статистику через Мониторинг.

## Зона ответственности заказчика

Printum обеспечивает отказоустойчивость приложений, однако ответственность за
инфраструктуру остаётся за заказчиком:

* репликация базы данных и файлового хранилища;
* отказоустойчивость сети и балансировщика;
* резервное копирование и аварийное восстановление (DR) серверов.

## Вывод

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

# Как работает degraded mode в Printum

# Как работает degraded mode в Printum

## Назначение

Degraded mode — режим частичной деградации системы, при котором часть компонентов недоступна, но ключевые функции продолжают работать.

## Что может вызвать degraded mode

- отказ Мониторинг;
- отказ одного узла ПринтМенеджер;
- потеря связи между площадками;
- временная недоступность LDAP.

## Что обычно продолжает работать

| Функция | Работает |
|---|---|
| Прямая печать | Да |
| Release-печать | Да |
| Авторизация | Да |
| Очереди | Да |

## Что может работать ограниченно

| Функция | Ограничение |
|---|---|
| Статистика | Может обновляться позже |
| Синхронизация | Возможна задержка |
| Отчеты | Возможна неполная информация |

## Что происходит после восстановления

После восстановления:
- выполняется повторная синхронизация;
- восстанавливается статистика;
- обновляются состояния.