Перейти к основному содержимому
Версия: 7.0

Описание

Введение

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

Отказоустойчивость позволяет:

  • Обеспечивать непрерывную работу системы для пользователей
  • Распределять нагрузку между несколькими серверами
  • Масштабировать систему для увеличения производительности и обработки большего количества пользователей
  • Снижать операционные риски за счёт предсказуемого поведения при переключениях и авариях
warning

Отказоустойчивость Пассворка доступна только в рамках расширенной лицензии.

Принципы отказоустойчивости

Отказоустойчивая архитектура Пассворка строится на двух основных принципах:

  1. Резервирование серверов приложений — несколько серверов приложений работают параллельно, обеспечивая доступность системы даже при выходе из строя одного или нескольких серверов.

  2. Репликация базы данных — использование репликационных наборов или кластеров баз данных, которые обеспечивают синхронизацию данных между нодами.

Минимальные требования:

  • Не менее 2 серверов приложений за балансировщиком
  • Не менее 3 нод в кластере БД (MongoDB Replica Set или PostgreSQL Patroni)
  • Независимая инфраструктура для нод БД (отдельные стойки/ЦОДы, по возможности)
  • Настроенные health check и мониторинг соединений

Общая архитектура отказоустойчивой системы:

Схема отказоустойчивости

Масштабирование

Пассворк поддерживает два типа масштабирования для увеличения производительности и обработки большего количества пользователей:

Горизонтальное масштабирование

Горизонтальное масштабирование (scale-out) — это добавление новых серверов в систему для распределения нагрузки.

Преимущества:

  • Увеличение производительности за счёт распределения нагрузки между несколькими серверами
  • Высокая отказоустойчивость — при выходе из строя одного сервера остальные продолжают работать
  • Возможность постепенного расширения системы

Применение:

  • Добавление новых серверов приложений Пассворка
  • Расширение репликационного набора базы данных (добавление Secondary нод)

Вертикальное масштабирование

Вертикальное масштабирование (scale-up) — это увеличение ресурсов (RAM, CPU, дискового пространства) на существующем сервере.

Преимущества:

  • Быстрое увеличение производительности без изменения архитектуры
  • Простота реализации — не требует настройки балансировки и синхронизации
  • Подходит для небольших и средних нагрузок

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

  • Физические ограничения сервера (максимальное количество RAM, CPU)
  • Единая точка отказа — при сбое сервера система становится недоступна
  • Стоимость мощного оборудования может быть выше, чем нескольких менее мощных серверов

Рекомендации

  • Для отказоустойчивых систем рекомендуется использовать горизонтальное масштабирование
  • Вертикальное масштабирование подходит для начальных этапов или систем без требований к высокой доступности
  • Комбинированный подход: вертикальное масштабирование отдельных серверов + горизонтальное масштабирование для отказоустойчивости

Компоненты отказоустойчивой архитектуры

Отказоустойчивая архитектура Пассворка состоит из двух основных компонентов:

1. Несколько серверов приложений

Использование нескольких серверов приложений Пассворка с балансировщиком нагрузки обеспечивает:

  • Автоматическое распределение трафика на другие серверы при сбое одного из серверов
  • Распределение нагрузки между всеми доступными серверами
  • Возможность горизонтального масштабирования

Детальнее о архитектуре, балансировке и health-check в разделе серверы приложений.

2. Репликация базы данных

Использование репликационных наборов или кластеров баз данных обеспечивает:

  • Автоматическое голосование и выбор новой Primary ноды при сбое текущей Primary, к которой начинают обращаться серверы приложений
  • Синхронизацию данных между нодами
  • Высокую доступность данных

Поддерживаемые базы данных:

  • MongoDB — репликационный набор (Replica Set)
  • PostgreSQL — Patroni кластер (начиная с версии 7)
осторожно

Пассворк поддерживает работу с PostgreSQL, но мы не осуществляем техническую поддержку базы данных. Установка, настройка и обслуживание выполняются вашими силами.

Детальнее о Replica Set и Patroni в разделе база данных.

Преимущества отказоустойчивой архитектуры

Высокая доступность

Система продолжает работать даже при выходе из строя отдельных компонентов:

  • При сбое сервера приложения балансировщик автоматически распределяет трафик на другие серверы
  • При сбое ноды базы данных выполняется голосование между оставшимися нодами, выбирается новая Primary нода, к которой начинают обращаться серверы приложений

Масштабируемость

Отказоустойчивая архитектура позволяет легко масштабировать систему:

  • Горизонтальное масштабирование — добавление новых серверов приложений и нод базы данных
  • Вертикальное масштабирование — увеличение ресурсов на существующих серверах

Производительность

Распределение нагрузки между несколькими серверами позволяет:

  • Обрабатывать больше одновременных запросов
  • Снижать нагрузку на отдельные серверы
  • Улучшать время отклика системы