問題タブ [akka]
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とscalaを使用してリクエスト/レスポンスプロトコルを実装する最良の方法は何ですか?
私は、アクターによる同時実行の概念を使用して、プロトコルの要求/応答を実装する分散アーキテクチャを開発する方法について研究してきました。
これを行う最善の方法は、Futures/Promises の同期処理を備えた応答システムを作成し、応答の直後に通知を受信するためにチャネルを開いたままにすることであると結論付けました。
したがって、受信トレイ メッセージとまったく同じように機能するアーキテクチャです。
いくつかの問題があります。
したがって、2 つのエンドポイント (2 つのレイヤーのアクター) を維持する必要がありますか?
問題: ビュー モジュールは、特定の要素を処理するように要求します。彼女はこのコマンドを送信して、アプリケーション サーバー上の RemoteActor 経由で処理します。このサーバーは、要素が処理されたときに通知するという promise をすぐに返す必要があります。この後、ビューモジュールは処理完了の通知を待ちます。
この問題をどう見ていますか?
Scala、Akka、Google Guice を使用しています。
誰もが解決策を利用できるのは一般的な問題だと思います。もし私がstackoverflowサイトの条件を傷つけていたらすみません。
前もって感謝します
java - Akka リモート アクター サーバーの検出
akka で作成したリモート アクター ソフトウェアをクラスターにデプロイしたいと考えています。このシステムは、複数のワーカー ノードと 1 つのマスター ノードで構成されています。問題は、クラスター ノードの IP アドレスを事前に知ることができないことです (ただし、それらがすべて同じサブネットワークの一部であることはわかっています)。そのため、各ノードで正しいアクター ref を作成するために、起動後に全員の IP アドレスを検出する優れた方法が必要です。
フリー ソフトウェア ライセンスで配布されている軽量ソリューション (初期セットアップに必要なだけ) を探しています。
java - BoundedBlockingQueue Java
私はBoundedBlockingQueue
、他のものを取り、Queue
それを境界付きでブロックできる を探しています。
それができるものを見つけましakka.util.BoundedBlockingQueue
たが、ソースコードにはいくつかの修正が含まれています。したがって、コードを使用するのが賢明かどうかはわかりません。
最後に、PriorityQueue をバインドして同時使用できるようにしたいと考えています。
このタスクに使用できる他のクラスはありますか? 多分Java 7で?
scala - アクターメッセージは共通の特性を拡張する必要がありますか?
Scala(およびakka)アクターフレームワークの適切な使用法のほとんどの例では、人々はすべてのメッセージを単一の特性から派生させる傾向があります。例えば:
ただし、ScalaとAkkaの両方で、メッセージ受信はまったく入力されません。共通の特性を実装する理由はありますか?
akka - core-pool-size-factorおよびmax-pool-size-factor設定を構成するための一般的なグッドプラクティスは何ですか?
たとえば、CPUに4つのコアと8つのコアスレッドがある場合。
- core-pool-size-factor設定を8まで設定する必要がありますか?
- core-pool-size -factorに関連するmax-pool-size-factorの一般的なサイズはどれくらいですか?
- 私が言及した設定がAkkaconfigの使用に関連している他の設定はありますか?
java - Akka は一時的なネットワーク カバレッジを持つシステムに適していますか?
Akka は、ノードが Wi-Fi カバレッジに出入りすることが予想されるシステムでの使用に適していますか? どのような点を考慮する必要がありますか (たとえば、どのトランスポート プロトコルが優先されるか)?
scala - MongoDBがサポートする永続性はまだAkkaにありますか?
Akka 1.0でmongodbの永続性に関するドキュメントをいくつか見つけましたが、1.2のドキュメントではそれについての言及が見つからないようです。削除されましたか?また、削除または非推奨になったことを示すものも見つかりません。
それがまだAkkaにある場合は、関連するドキュメントへのリンクをいただければ幸いです。
ありがとう!
java - Akka-オブジェクトのシリアル化中のStackOverflowError
2日以上続く問題があります。アクター間でメッセージを交換しているとき、JVMスタックオーバーフローを非難しています。
私のメッセージは、多くのリンクを持つオブジェクトです(10000以上の子オブジェクトがリンクリストでリンクされています)。つまり、Neo4J関係を持つオブジェクトです。
エラーは次のとおりです。
誰かがこれに対する解決策を持っていますか?
ありがとう
scala - I/O は Akka でどのように機能しますか?
I/O (データベース操作など) を実行する必要がある場合、(Akka の) アクター モデルはどのように機能しますか?
ブロッキング操作が例外をスローすることは理解しています (そして、Akka が使用する Netty のイベント化された性質により、本質的にすべての同時実行が台無しになります)。したがって、Future
または同様のものを使用する必要がありますが、同時実行モデルがわかりません。
- 1 つのアクターが複数のメッセージを同時に処理できますか?
future
アクターが(つまり)でブロッキング呼び出しを行った場合future.get()
、現在のアクターの実行のみがブロックされます。それとも、ブロッキング呼び出しが完了するまで、すべてのアクターでの実行を防止しますか?- すべての実行をブロックする場合、将来の支援同時実行をどのように使用しますか?
- 各ステップが最後のステップに依存する多段階プロセス (つまり、データベースからの読み取り、ブロッキング Web サービスの呼び出し、データベースからの読み取り、データベースへの書き込み) を処理する最良の方法は何ですか?
基本的なコンテキストは次のとおりです。
- 何千ものセッションを維持する Websocket サーバーを使用しています。
- 各セッションにはいくつかの状態 (つまり、認証の詳細など) があります。
- Javascript クライアントは JSON-RPC メッセージをサーバーに送信し、サーバーはそれを適切なセッション アクターに渡します。サーバーはそれを実行して結果を返します。
- RPC 呼び出しの実行には、いくつかの I/O 呼び出しとブロッキング呼び出しが含まれます。
- 多数の同時リクエストが発生します (各ユーザーは WebSocket 接続を介して大量のリクエストを行い、多くのユーザーが存在します)。
これを達成するためのより良い方法はありますか?
scala - remote.shutdown() は akka リモート アクター自体を強制終了しません
クライアントはPoisonPillと「停止」信号を送信しますが、リモートはそれ自体を終了しません。remote.shutdown() を呼び出して、オブジェクト RemoteEchoServer 内のリモート アクターを強制終了する必要があります。「停止」メッセージを受信してリモート アクターをシャットダウンする方法は?
exit() はおそらくサーバーアプリを直接終了することを知っていますが、まだ処理が必要なリクエストがある場合はどうでしょうか。
重要なポイントは、remote.shutdown() を呼び出してリモート サービス (サーバー アプリ) をシャットダウンしないことです。アクターのサーバー アプリを停止したい場合はどうすればよいですか?