Кластеризация
Для повышения производительности системы рекомендуется повысить количество экземпляров Flows Engine и Flows Actions. По умолчанию, они запускаются в 1 экземпляре, однако вы можете запустить их как standalone-копии на одном сервере, так и в качестве независимых приложений.
Standalone
В качестве примера рассмотрим VPS с 8 ядрами CPU и 16 Gb памяти. Рекомендуется запустить по 8 экземпляров Flows Engine и Flows Actions. Для этого удалите из вашего файла docker-compose.yaml свойство container_name в сервисе flows_engine или flows_actions. Вместо удаления можно закомментировать символом #.
Затем добавьте свойство deploy со значениями mode: replicated и replicas: количество реплик, например:
flow_actions:
image: devcubesolutions/flow_actions:latest
#container_name: flow_actions
...
deploy:
mode: replicated
replicas: 8
...
flows_engine:
image: devcubesolutions/flows_engine:latest
#container_name: flows_engine
...
deploy:
mode: replicated
replicas: 8В примере у вас будет запущено 8 экземпляров flow_actions и 8 экземпляров flows_engine, которые будут работать параллельно.
Независимые распределенные приложения
При необходимости у вас есть возможность распределить приложения Flows на разные серверы или дата-центры. Для этого подготовьте ваш экземпляр Redis и Broker для внешних подключений, затем установите образы Accelera Flow на удаленные серверы, создайте файл docker-compose.yaml с сервисами flows_engine и flow_actions.
Вы также можете использовать оркестраторы для создания динамической инфраструктуры Accelera Flows.
Для запуска такого распределенного кластера рекомендуется также запускать в режиме кластера Redis и Broker.