問題タブ [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 - Scalaアクター-最悪のプラクティス?
Scalaでアクターを使用することに少し不安を感じます。作業方法に関するドキュメントを読んだことがありますが、それらを自由に使用するには、いくつかの禁止ルールも必要になると思います。私はそれらを間違った方法で使用することを恐れていると思います、そして私はそれに気付くことさえありません。
適用された場合、Scalaアクターがもたらすメリットを壊したり、誤った結果をもたらしたりするようなことを考えられますか?
scala - アクターの構成
アクターに追加できる Listenable/Listener トレイトを実装しました。listenerHandlerメソッドを明示的に呼び出さなくても、このスタイルの特性をアクターにアタッチできるかどうか疑問に思っています。
また、この機能が Akka ライブラリにあることを期待していました。何か不足していますか、それとも Akka がこれを含めない理由がありますか?
scala - Scala 2.8 アクター
Scala コードでアクターを使用することをすぐに考えています。また、今後数週間で Scala 2.8 に移行することも考えています。私たちは Akka に注目してきましたが、現在 2.8 をサポートしておらず、その計画は 0.7 リリースから 0.8 にずれています。
分散型の監視されたアクターが必要です。Akka に代わるものはありますか? それとも、Akka 0.8 が確実に 2.8 をサポートするかどうか (そしていつ予定されているか) を知っている人はいますか? 当面は Scala アクターだけを使用し、後で Akka に切り替えることは可能でしょうか?
ありがとう、
デイブ
更新: Viktor が以下で言及しているブランチは、こちらでフォローできます
scala - アクターを使用して共有依存関係を持つ for ループを書き直すにはどうすればよいですか
より高速に実行する必要があるコードがいくつかあります。すでにプロファイリングされているため、複数のスレッドを利用したいと考えています。通常、メモリ内キューをセットアップし、キューのジョブを取得して結果を計算する多数のスレッドを用意します。共有データには、ConcurrentHashMap などを使用します。
あの道は二度と行きたくない。私が読んだことから、アクターを使用するとコードがきれいになり、akka を使用すると複数の jvm への移行がより簡単になるはずです。本当?
ただ、役者の考え方がわからないので、どこから手をつけていいのかわかりません。
問題をよりよく理解するために、いくつかのサンプル コードを示します。
アクターを使用した経験のある人が、これがアクターにどのようにマッピングされるかを提案していただければ幸いです。
scala - さまざまな Scala アクターの実装の概要
「正しい」アクターの実装を見つけようとしています。私はそれらがたくさんあることに気づきました.1つを選ぶのは少し混乱しています. 個人的にはリモート アクターに特に興味がありますが、完全な概要は他の多くの人にとって役立つと思います。これはかなり一般的な質問なので、知っている実装についてだけ自由に答えてください。
次の Scala Actor 実装 (SAI) について知っています。足りないものを追加してください。
- Scala 2.7 (との違い)
- スカラ 2.8
- アッカ ( http://www.akkasource.org/ )
- リフト ( http://liftweb.net/ )
Scalaz ( http://code.google.com/p/scalaz/ )
これらの SAI の対象となるユースケースは何ですか (軽量または「重い」エンタープライズ フレームワーク)?
- 彼らはリモートアクターをサポートしていますか? リモート アクターには SAI でどのような欠点がありますか?
- 彼らのパフォーマンスはどうですか?
- コミュニティはどの程度活発ですか?
- 彼らはどれくらい簡単に始められますか? ドキュメンテーションはどれくらい良いですか?
- それらはどれくらい簡単に拡張できますか?
- それらはどれくらい安定していますか?どのプロジェクトがそれらを使用していますか?
- 彼らの欠点は何ですか?
- 彼らの設計原則は何ですか?
- それらはスレッドベースですか、イベントベース (受信/反応)、またはその両方ですか?
- ネストされた receiveS
- アクターのメッセージ ループのホットスワップ
scala - Scala 2.8 アクター設計ドキュメント? アッカの設計書?
2.7 の場合と同様に、Scala 2.8 アクターの設計ドキュメントはありますか?
Scala Actors: スレッドベースとイベントベースのプログラミングの統合
Akka用はありますか?
「Scala Improvement Documents Library」には、アクターについては言及されていません。
java - Java のどの ThreadPool を使用すればよいですか?
膨大な量のタスクがあります。各タスクは 1 つのグループに属します。要件は、タスクの各グループが単一スレッドで実行されるのと同じように連続して実行され、スループットがマルチコア (またはマルチ CPU) 環境で最大化される必要があることです。注: タスクの数に比例する膨大な量のグループもあります。
単純な解決策は、ThreadPoolExecutor と同期 (またはロック) を使用することです。ただし、スレッドは互いにブロックし合い、スループットは最大化されません。
もっと良いアイデアはありますか?または、要件を満たすサードパーティのライブラリが存在しますか?
scala - Akka を使用する Scala REST アプリケーションをスケーリングするにはどうすればよいですか?
REST 要求を受信し、データベースに対していくつかの操作を行い、クライアントにいくつかの情報で応答する Akka を使用する Scala アプリケーションがあります。現状では、DB に対して多くの操作を同時に実行できたとしても、DB 操作には長い時間がかかり、その間、REST 対応のアクターは新しい要求に応答できません。アクターで REST 対応メソッドに javax.ws.rs アノテーションを使用しています。
質問; アプリケーションが多数の同時リクエストを処理できるようにする最善の方法は何ですか?
編集:サンプルコードを追加します。
EDIT2:これは私がログに記録しているものです。タブを切り替えて F5 キーを押すのと同じ速さでブラウザーから 3 つの要求を送信していますが、RS Bean は最初の要求が完了するのを待ってから次の要求を処理します。
scala - Scala + Akka: マルチマシンの高可用性クラスターを開発する方法
Android、iPhone、Second Life のクライアントにサービスを提供するゲーム用のサーバー システムを Scala + Akka で開発しています。このサーバーには、複数のマシンで実行する高可用性が必要な部分があります。これらのサーバーの 1 つが (ハードウェア障害などで) 停止した場合でも、システムは稼働し続ける必要があります。私は、Cassandra の仕組みと同様に、クライアントが接続しようとするマシンのリストを持っていることを望んでいると思います。
これまで Akka で見たマルチノードの例は、高可用性 (少なくともハードウェアに関して) ではなく、スケーラビリティの考え方に重点を置いているように思えます。マルチノードの例には、常に単一障害点があるようです。たとえば、ロード バランサーがありますが、ロード バランサーを備えたマシンの 1 つを再起動する必要がある場合、システムにダウンタイムが発生します。
Akka のこのタイプのハードウェア フォールト トレランスを示す例はありますか? または、これを実現するための良い方法について何か考えはありますか?
これまでのところ、私が思いついた最善の答えは、Erlang OTP のドキュメントを調べて熟考し、Akka で利用可能なビルディング ブロックを使用してシステムを組み立てる方法を見つけようとすることです。
しかし、リソース、例、または複数のマシン間で状態を共有して、そのうちの 1 つがダウンしても実行を継続する方法に関するアイデアがあれば、それらを高く評価します。ここの車輪。複数のノード間で共有状態を自動的に同期するマルチノード STM コンテナーがあるのではないでしょうか? あるいは、これは非常に簡単に作成できるため、ドキュメントではその方法の例をわざわざ示していないのかもしれません。あるいは、私の研究と実験がまだ十分に徹底されていないのかもしれません。どんな考えやアイデアでも大歓迎です。
scala - Java 1.5 で AKKA を実行することは可能ですか?
Java 1.5 で AKKA を実行することは可能ですか? 私は得java.lang.UnsupportedClassVersionError: Bad version number in .class file
ていse.scalablesolutions.akka.actor.LocalActorRef
ます。AKKA のバージョンはhttp://doc.akkasource.org/getting-started0.9.1
で JVM のバージョンの制限について言及されています。