Я пытаюсь найти наилучший подход к тому, чтобы использовать один и тот же пул связи между действующими лицами, работающими с кластерными рабочими. У меня есть следующая структура:Akka and ReactiveMongo
Мастер Актер -> Worker Актеры (может быть до 100 или более) -> MongoDB
Между рабочими и MongoDB я хочу поставить reactivemongo, однако я не уверен, как именно обеспечить совместное использование пула соединений между всеми участниками.
Согласно reactivemongo документации:
MongoDriver экземпляр управляет системой актера; соединение управляет пулом соединений. В общем, MongoDriver или создать MongoConnection никогда не создаются более одного раза. Вы можете предоставить список еще одного сервера; драйвер угадает, если это автономный сервер или конфигурация набора реплик. Даже с одним узлом реплики драйвер будет исследовать другие узлы и добавлять их автоматически.
Должен ли я просто создавать его в мастер-актере, а затем связывать с каждым сообщением? Таким образом, это было бы в мастер-актера:
val driver = new MongoDriver
val connection = driver.connection(List("localhost"))
А потом я прохожу связь с актерами в сообщении. Или я должен запросить соединение в каждом Рабочем Актере и передать только драйвер в сообщении?
Любая помощь очень ценится. Спасибо.
Спасибо за ваш ответ, это выглядит хорошо, я дам ему попробовать. –