Справка

Архитектура Pyrus Datacenter

Безоблачный Pyrus

Pyrus Datacenter поддерживает запуск на одном хосте или как кластер высокой доступности.

Кластер высокой доступности

Pyrus можно запускать в кластере с несколькими узлами и балансировщиками нагрузки. Это подходит организациям, для которых важны высокая доступность и возможность масштабирования.

Типичная архитектура кластера высокой доступности изображена ниже:

Кластерное решение обладает следующими преимуществами:

  • Высокая доступность и автоматический failover: Если один из узлов в вашем приложении выйдет из строя, другие узлы кластера берут на себя нагрузку, обеспечивая бесперебойную доступность приложения;
  • Горизонтальное масштабирование: Каждый новый узел увеличивает количество одновременных пользователей и сокращает время отклика по мере роста системы. Также, имеется возможность развернуть узлы, предназначенные только для определенных функций.

Запуск на одном хосте

Pyrus на одном хосте подходит вам, если:

  • Вы разворачиваете пилот для первых 200-300 пользователей;
  • Вы допускаете полную остановку системы для регламентных работ.

На изображении ниже показана архитектура Pyrus, запущенного на одном хосте:

На сервере запускается следующий набор docker-контейнеров.

web-apiОсновной сервис, обрабатывает запросы пользователей и вызовы API.
filesСервис сохранения/скачивания файлов.
bindСервис отправки событий в веб-браузер пользователей.
identity-serverСервис идентификации.
mail-senderСервис отправки электронной почты через SMTP-сервер клиента.
mail-readerСервис чтения электронной почты из почтовых интеграций.
notification-serviceСервис отправки пуш-уведомлений на мобильные устройства через pyrus.com.
async-workerСервис обработки асинхронных задач.
schedulerСервис выполнения регулярных задач.
preview-generatorСервис генерации превью файлов.
postgresqlСУБД Postgres, основное хранилище данных. Использует volume для хранения данных на диске. Авторизация происходит по внутренней сети Docker по логину/паролю.
elasticsearchПоисковый система Elasticsearch, используется для полнотекстового поиска. Использует volume для хранения данных на диске. Авторизация происходит по внутренней сети Docker по логину/паролю.
natsШина обмена сообщениями между сервисами. Авторизация происходит по внутренней сети Docker по логину/паролю.
nginxВеб-сервер, терминирует SSL-соединение и маршрутизирует запросы.
logsСУБД Postgres, хранилище логов. Использует volume для хранения данных на диске. Авторизация происходит по внутренней сети Docker по логину/паролю.

Была ли эта статья полезной?