Мы строим многокомпонентную систему на основе Akka-кластеров. Каждый компонент является отдельным Play! проект, и с самого начала он присоединяется к кластеру Akka, а компоненты начинают искать действующих лиц для работы.Строительство Модульные системы Akka
Проблема
У меня есть две проблемы с этой установкой:
Написание тестового кода очень трудно (мы не выясняли это еще), особенно при написании тестов, которые полагаются на нескольких актеров исходя из разных компонентов. Как мы можем решить зависимость и создать надлежащий кластер в тестовом коде (между двумя игровыми приложениями!)
Во время разработки каждый разработчик должен запустить несколько экземпляров Sbt для загрузки системы (разные игровые проекты), и это ест вся системная память и развитие становятся невероятно медленными.
Что я ищу
Я думал об использовании кластера «роли» свойство сделать выборочную загрузку, это означает, что есть только один проект Play и компоненты (модули) и в загрузке проекта воспроизведения я сканирую текущее свойство ролей этого экземпляра и на основе этого я запускаю или останавливаю определенные компоненты/актеры.
Это облегчит тестирование, но я не знаю точно, как это сделать в Play, особенно, что некоторые компоненты на самом деле предлагают RESTful API (Play Controllers), и я не знаю, как включать/отключать маршруты и контроллеры на время загрузки.
Есть ли какой-либо документ или что-то, что показывает правильный способ построения модульной распределенной системы или любых подсказок? (Что-то еще, что касается того, как SBT должен быть установлен
Edit 1: Проект живет в одном хранилище и имеет одну SBT сборку (несколько-проектов)