問題タブ [remote-actors]
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 - 新しい ActorSystem なしで Akka アクターをリモートで作成する
私は今、ドキュメントを数回読んでおり(http://doc.akka.io/docs/akka/2.1.4/scala/remoting.html )、ここの例( https://github.com/akka)を通して/akka/tree/master/akka-samples/akka-sample-remote ) などを介して、やりたいことを行う方法がまだわかりません。私が見つけた最も近い答えはこれです: scalaでリモート アクターを開始する方法ですが、私が思っているよりもはるかに不便に思えます。
作業する 12 台のマシンのクラスターがあります。私は次のようなことをしたいと思います:
次に、マスターの内部で、次のようなものがあります。
これはかなり一般的な使用例のようです。欠けているものはありますか、またはこれを行うための良い方法はありますか (構成がどのように見えるか、または実際に必要な ActorSystems の数に関して)? 私は今、良い解決策を合成するのに苦労しています。
scala - Akka リモート アクター、デフォルト コンストラクターのないスーパークラス
akka リモート アクターを使用してメッセージを送信しようとしています。ケース クラスは、コンストラクターで引数を取るスーパークラスのサブクラスです。
問題を再現するための最小限の例を次に示します。
このコードを実行すると、次のエラーが発生します。
akka.serialization.JavaSerializer
親のコンストラクターが原因で、メッセージを(を使用して)逆シリアル化できないためだと思います。1 つまたは 2 つのメッセージだけであれば、独自のシリアライザーを作成できることはわかっていますが、アプリケーションにはこのようなケース クラスがたくさんあります。
リモート アクターを使用してこの種のオブジェクトを渡す簡単な方法はありますか?
akka - Akka はリモート アクターにエラーを通知します
私が構築している新しい akka アプリケーションに関して、設計上の課題があります。問題/課題は次のとおりです。クライアント側で、リクエストを送信する単純なアクターを作成し、bebe() を使用して適切なサーバーの応答を待ちます。もちろん、タイムアウト メッセージも含めます。適切な時間内に回答が得られない。ただし、興味深いのはサーバー側です。ここに私は次の構造を持っています:
アクター A (ラウンド ロビン ルーターとして構成) このルーターは、クライアントからすべての要求を受信しています。
次に、アクター A はメッセージをアクター A1、A2...Ax に転送します。これらはすべてアクター A のコンテキストで作成されたものであり、アクター A がスーパーバイザーであることを意味します。
通常の場合、メッセージは転送されるため、Actor Axe は送信者に返信するだけで済みますが、エラーが発生した場合は、サーバー ログにログを記録するだけでなく、ユーザーに通知することもできます。発生したエラーに関する情報の種類。
完璧な世界では、スーパーバイザー戦略で getErrorActorsLastSender() のようなことを言ってから、問題の原因となったクライアントの ActorRef を取得できるようにしたいと考えています。私がこれを好む理由は、すべてのエラー処理を 1 か所で行うことができ、すべての予期しない例外が少なくとも何らかの一般的な方法で常に処理されるからです。
別の方法は、各子アクターで prerestart() メソッドをオーバーライドし、例外がスローされたときにアクターを再起動するスーパーバイザー戦略を作成することです。ただし、これには x 子アクターに対してこのメソッドを実装する必要があります。
これがスーパーバイザーの戦略から可能である場合、何か良い提案はありますか?
前もって感謝します。
java - 隣接するjvmのakkaシステムにメッセージを送信するにはどうすればよいですか?
ある JVM で HelloActor を使用して akka システムを開始し、別の JVM でクライアントからメッセージを送信しようとしました。そして、何も機能しません。どうすればそれを正しく行うべきですか?コードは次のとおりです。
シンプルサーバー
シンプルクライアント
構成ファイル
ServerがClientの前に起動することを前提としています。println(selection.anchorPath)
そのようなアクターを取得しようとすると、「akka://mySystem/deadLetters」( ) を受け取るようになりましたsystem.actorSelection("akka://HelloSystem@127.0.0.1:2552/HelloActor")
では、別の JVM で ActorSystem からアクターを取得する方法は? それとも、クラスタを作成し、シード、リーダーなどを任命するまではできないのでしょうか?
eclipse - Scala リモート アクターの例 - Eclipse
scala リモート アプリケーションを実装するために、このリンクにあるサンプル コードを使用しました: https://stackoverflow.com/a/15367735/1932985
次の出力が得られます:
サーバー出力:
クライアント出力:
最初にサーバー ファイルを実行し、次にクライアント ファイルを実行しました。受け取った出力は正しいですか? それとも私の実行方法が間違っていますか?私を助けてください!
ありがとう、ケシャフ
scala - カスタム ディスパッチャーを使用した Akka リモート アクター
「UnboundedDequeBasedMailbox」を使用してリモート アクターを作成する際に問題が発生しています。アクターがスポーンされるマスター マシンと、アクターが実行されるスレーブがあります。
master.conf:
スレーブ.conf:
リモート アクターはクラス ChronosScheduler によってスポーンされます。
ChronosScheduler はオブジェクト ChronosScheduler によって生成されます。
私が持っているエラーはこれです:
このエラーに関するヒントを教えてください。これは、クラス ChronosScheduler がオブジェクト ChronosScheduler config.. にアクセスできないために発生すると思いますが、とにかく修正できません。
解決策: 私が抱えていた問題は、master.conf で RemoteChannelRoutingActor を宣言した方法が原因でした:
そうでなければなりません:
scala - Akka Actor on server not returning an ActorIdentity response to an Identify message
So I have this segment of code
However, when I send the identify message (which is the right path) it doesn't get an ActorIdentity, it just prints "not ready yet".
When I run the server locally everything works fine. So I'm really confused as to why the server is working as intended.