Sto cercando di trovare l'approccio migliore per condividere lo stesso pool di connessioni tra gli attori che lavorano con i cluster worker. Ho la seguente struttura:Akka e ReactiveMongo
Maestro Attore -> Attori operaio (può essere fino a 100 o più) -> MongoDB
tra lavoratori e MongoDB che voglio mettere reactivemongo, ma non sono sicuro di come esattamente fornire la condivisione del pool di connessione tra tutti gli attori.
Secondo reactivemongo documentazione:
esempio Un MongoDriver gestisce un sistema di attore; una connessione gestisce un pool di connessioni. In generale, MongoDriver o creare un MongoConnection non vengono mai istanziati più di una volta. È possibile fornire un elenco di uno o più server; il driver indovina se si tratta di un server autonomo o una configurazione di set di repliche. Anche con un nodo di replica, il driver analizzerà altri nodi e li aggiungerà automaticamente.
Devo solo crearlo nell'attore principale e quindi raggruppare con ogni messaggio? Quindi, questo sarebbe in Master attore:
val driver = new MongoDriver
val connection = driver.connection(List("localhost"))
E poi passare il collegamento ad attori in un messaggio. O dovrei interrogare una connessione in ogni attore di lavoro e passare solo il driver in un messaggio?
Qualsiasi aiuto è molto apprezzato. Grazie.
Grazie per la risposta, questo sembra buono, farò un tentativo. –