私はMailboxProcessor
、独自のことを行う個別のエージェントを維持するためにクラスを使用しています。通常、エージェントは同じプロセスで相互に通信できますが、エージェントが別々のプロセスまたは異なるマシン上にある場合でも、エージェントが相互に通信できるようにしたいと思います。それらの間の通信を実装するには、どのようなメカニズムが最適ですか?標準的な解決策はありますか?
私はUbuntuインスタンスを使用してエージェントを実行していることに注意してください。
私はMailboxProcessor
、独自のことを行う個別のエージェントを維持するためにクラスを使用しています。通常、エージェントは同じプロセスで相互に通信できますが、エージェントが別々のプロセスまたは異なるマシン上にある場合でも、エージェントが相互に通信できるようにしたいと思います。それらの間の通信を実装するには、どのようなメカニズムが最適ですか?標準的な解決策はありますか?
私はUbuntuインスタンスを使用してエージェントを実行していることに注意してください。
メッセージをシリアル化し、プロセスの境界を越えて渡し、反対側にディスパッチするための独自のルーチンを作成する必要があると思います。これには、各メールボックスにIDがあり、プロセスがMailbox.SendだけでなくIDにメッセージを送信できるIDシステムの実装も必要になります。ローカルボックスはローカルメモリにアクセスできますが、リモートメールボックスはアクセスできないため、これは簡単ではありません。
RPyC(http://rpyc.wikidot.com/)のようなものを見ると、探しているようなプロトコルが提供されます。
基本的に、答えは「いいえ」です。これを行うための実際に良い方法はありません。