問題タブ [akka-remote-actor]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - Akka spawn をリモート ノードのプロセスにする
アクター システムを作成するときに Akka がどのような責任を負うのかについて、私はちょっと混乱しています。親アクターと 2 つの子アクターの単純なアプリケーションが必要で、各子は別のプロセス (したがって別のノード) に存在します。これで、リモート構成でルーターを使用したり、リモート アクターを起動したりできることがわかりましたが、(間違っていたら訂正してください) このリモート アクターを作成するとき、Akka はプロセスが既に存在し、ノードが既にその上で実行されていることを期待しています。プロセスを実行し、その子アクターをそのノードにデプロイするだけです。Akka にスポーンを行わせる方法はありませんか?
自分でプロセスを作成していないため、これは機能しないコードです。
アプリケーション.conf:
Parent.scala:
および Child.scala:
しかし、Parent.scala でメインを実行した直後に Child.scala 内でこのメインを実行すると、次のようになります。
その後、ノードが接続されます。
それを行う方法がない場合、プロセスがクラッシュしたときに Akka はそのプロセス/ノードをどのように再起動できますか?
scala - Akka Remoting: Props.withDeploy(... ) を使用した複数のデプロイ構成。
RemoteLookupProxyForwarder
Akka In Action book で定義されているように、Akka Remote Actor を使用してサンプルを作成しています。私の要件は、リモートでアクターを作成するようなものですが、コード構成を使用しています。RemoteLookupProxyForwarder
アクター システムが利用可能な場合はリモート アクター システムを検索し、リモート アクターを作成するのと同じように機能します。それ以外の場合は待機します。
彼の助けを借りてapplication.conf
、これは正常に行われ、アスペクト動作として正常に機能しました。
しかし、コードを使用すると、問題は、リモート アクターが使用できない場合、プロキシ アクターがアクターを検索できず、メッセージがリモート アクターに送信されると、すべてのメッセージが配信不能になります。
リモート プロキシ アクター コード:
リモート 1 アクター システム:
リモート 2 アクター システム:
configを使用application.conf
すると、この例は正常に実行されます。なぜなら、config では 2 つの展開を記述していますが、これはコードの場合であり、複数の展開を定義する方法をまだ見つけることができないからです。
application.conf
複数の配置を使用した構成:
私の仮定は、コードでは、1 つの展開のみを定義しているため、サンプルが期待どおりに機能しないということです。では、複数のデプロイメントをどのように定義できますか?
c# - Akka.NET: リスト メッセージを他の ActorSystem に送信できません
私はAkka.NETが初めてです。私は最近、大学のプロジェクトを開始し、奇妙な問題に直面しました。2 つの異なるデスクトップ アプリケーションに 2 つの ActorSystems があります。最初の ActorSystem では、Akka.Remote を使用して 2 つのアクター間でメッセージ ZippedAddressListMessage を送信しています。
これは正常に動作しますが、このメッセージを他の ActorSystem に送信しようとすると、エラーの膨大なリストが表示されます: エラーが 表示されたコンソール ウィンドウのスクリーンショット #1
それでも、1 つの整数のみで構成される単純なメッセージを送信すると、すべてがうまく機能します。シリアル化に問題がある可能性がありますが、どのように解決する必要があるかわかりませんでした。どこでも検索しましたが、まだ答えが見つかりません。この問題を解決する方法を教えてください。
最初の ActorSystem からのアクター:
}
他の ActorSystem からのアクター:
}
更新: 冒頭のエラーのスクリーンショットを次に示します。 エラーが表示されたコンソール ウィンドウのスクリーンショット #2 System.String[] の形式が JSON シリアル化と互換性がないと書かれています。