Сетевые конфигурации

Last updated 6 months ago

Bpium Enterprise — распределенное решение, каждая часть приложения может быть многократно продублирована.

Один сервер

Все сервисы могут работать на одном выделенном или виртуальном сервере:

Особенности:

  • Сервисы Bpium и Bpium S3 должны иметь публичные внешние адреса.

  • Сервер должен иметь периодический доступ к системе лицензирования (activate.bpium.ru)

  • Сервер должен иметь доступ к самому себе по публичному внешнему адресу

Разделенные сервера

Возможно разделить сервисы по серверам для увеличения производительности и независимости:

Особенности:

  • Сервисы Bpium и Bpium S3 должны иметь публичные внешние адреса.

  • Сервис Bpium должен иметь доступ к сервису Bpium S3 через интернет (по внешнему адресу)

  • Сервис Bpium должен иметь периодический доступ к системе лицензирования (activate.bpium.ru)

  • Сервис Bpium должен иметь доступ к сервису Bpium BPM

  • Сервис Bpium BPM должен иметь доступ к сервису Bpium через интернет (по внешнему адресу)

  • Сервис Bpium BPM должен иметь доступ во вне

  • Сохранение состояния исполнения процессов реализуется за счет хранилища/очереди Redis

Схема за маршрутизаторами

Сервисы могут находится на разных серверах и стоять за маршрутизаторами, внешними веб-серверами или балансировщиками нагрузки:

Особенности

  • Сервис Bpium должен иметь доступ к сервису Bpium S3 через интернет (по внешнему адресу)

  • Сервис Bpium BPM должен иметь доступ к сервису Bpium через интернет (по внешнему адресу)

Масштабируемая/отказоустойчивая архитектура

Все сервисы Bpium рассчитаны на многосерверную распределенную параллельную работу:

Особенности:

  • Сервера Bpium S3 должны иметь общую папку для хранения файлов

  • Синхронизация баз данных реализуется через репликацию на уровне PostgreSQL

  • Синхронизация серверов Bpium BPM реализуется за счет хранилища/очереди Redis

Принципы резервирования

Резервирование сервера приложения Bpium

Роль: Обработка запросов, предоставление клиентского приложения.

Схема: Система поддерживает неограниченное количество копий серверов приложения. Копии серверов работают независимо друг от друга и не обмениваются информацией между собой. Запросы между серверами распределяет маршрутизатор или HTTP-прокси.

Резервирование сервера хранилища Bpium S3

Роль: Обработка запросов на загрузку и скачивание файлов, размещение файлов.

Схема: Система поддерживает неограниченное количество копий серверов хранилища. Копии серверов работают независимо друг от друга и не обмениваются информацией между собой. Запросы между серверами распределяет маршрутизатор или HTTP-прокси.

Резервирование сервера баз данных PostgreSQL

Роль: Хранение информации.

Схема: Система поддерживает неограниченное количество копий серверов баз данных. Копии серверов работают на принципе репликации данных между собой. Запросы между серверами распределяет маршрутизатор или HTTP-прокси.

Резервирование сервера процессов Bpium BPM

Роль: Исполнение пользовательских процессов.

Схема: Система поддерживает неограниченное количество копий серверов процессов. Копии серверов работают независимо друг от друга и не обмениваются информацией между собой. Роль общего хранилища и распределения очереди нагрузки выполняет Redis. Запросы между серверами распределяет маршрутизатор или HTTP-прокси.

Резервирование сервера хранилища/очереди Redis

Роль: Сохранение состояния исполняемых процессов и очередь их исполнения

Схема: Репликация на уровне возможностей Redis.