アクター間で同じ接続プールをクラスター ワーカーと共有するための最良の方法を見つけようとしています。私は次の構造を持っています:
マスター アクター -> ワーカー アクター (最大 100 個以上) -> MongoDB
ワーカーと MongoDB の間には、reactivemongo を配置したいと考えていますが、すべてのアクター間で接続プールを共有する方法が正確にはわかりません。
リアクティブモンゴのドキュメントによると:
MongoDriver インスタンスはアクター システムを管理します。接続は、接続のプールを管理します。一般に、MongoDriver または MongoConnection の作成は、一度しかインスタンス化されません。1 つ以上のサーバーのリストを提供できます。ドライバーは、それがスタンドアロン サーバーであるか、レプリカ セット構成であるかを推測します。レプリカ ノードが 1 つの場合でも、ドライバーは他のノードをプローブして自動的に追加します。
マスターアクターで作成してから、各メッセージにバンドルする必要がありますか? したがって、これはマスター アクターでは次のようになります。
val driver = new MongoDriver
val connection = driver.connection(List("localhost"))
そして、メッセージでアクターに接続を渡します。または、各ワーク アクターで接続をクエリし、ドライバーだけをメッセージに渡す必要がありますか?
どんな助けでも大歓迎です。ありがとう。