コードによっては、必要なのは構成の変更だけです。リモート処理を設定するには、構成に次のようなものが必要です。
akka {
actor {
provider = "akka.remote.RemoteActorRefProvider"
}
remote {
enabled-transports = ["akka.remote.netty.tcp"]
netty.tcp {
hostname = "127.0.0.1"
port = 2552
}
}
}
次に、リモート ノードでどのアクターを作成するかを Akka に伝える必要があります。
akka {
actor {
deployment {
/sampleActor {
remote = "akka.tcp://sampleActorSystem@127.0.0.1:2553"
}
}
}
}
詳細については、優れたドキュメントを参照してください。2.2.1 バージョンのドキュメントをリンクしました。別のバージョンを使用している場合は、そのバージョンのドキュメントを参照してください。バージョン間で変更が行われる傾向があり、古いバージョンのものは新しいバージョンでも機能しますが (廃止される可能性があります)、その逆は明らかに問題です。
「コードによって異なります」と言ったことに気付くでしょう。つまり、リモート ノードに送信されるすべてのメッセージはシリアライズ可能である必要があり、アクターで静的メンバーを使用しないということです。
さらに柔軟性が必要な場合は、新しいクラスタリング サポートを確認してください。これにより、柔軟で動的な Peer-to-Peer システムが実現し、必要に応じてスケールアップおよびスケールダウンできます。そのためには、わずかなコード変更が必要になる場合があります。
それが役立つことを願っています。