問題タブ [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.

0 投票する
2 に答える
1287 参照

google-app-engine - Google App Engineは、ほぼリアルタイムのイベント駆動型アプリケーションに適していますか?

ほぼリアルタイムのイベント駆動型アプリケーション(バックエンドと多数のモバイルクライアント)を開発します。

Akka(http://akka.io)はこれに適していると思います。ただし、私の大学では、GoogleAppEngineとその非同期機能を使用したいと考えています。それが最善のアプローチだとは思いませんが、どういうわけかこれら2つのことを融合できるのではないかと思います。Googleで確かな現代的な情報を見つけることができません。

0 投票する
2 に答える
6273 参照

multithreading - akka scala アクターでシングルトンを使用する

ステートフル シングルトンへの呼び出しを委任しているアクターがいます。シングルトンはオブジェクトのマップを維持しているため、ステートフルです。このシングルトン オブジェクトは、アクターと、このマップで 1 つのオブジェクトを取得するクラス (アクターではない) でのみ使用されます (スレッド セーフな読み取りのみ)。

副作用/問題はありますか? ありがとう

0 投票する
4 に答える
10478 参照

java - Java アプリケーションで Akka アクターを使用するにはどうすればよいですか?

Java でAkka アクターを使用したいと考えています。

をダウンロードして、Eclipse の「ビルド パス」にakka-1.0.zip追加しました。akka-actor-1.0.jar

次に、この Actor クラスを作成しました。

しかし、Eclipse でエラーが発生します。

「ビルドパス」にさらにファイルを追加する必要がありますか、それとも何が間違っていますか? ドキュメントがそれほど役立つとは思いません。

更新:ビルド パスに追加scala-library.jarしたところ、上記のエラーは消えました。しかし、アプリケーションをコンパイルして実行するとエラーが発生します。

アクターを使用するメイン クラスは次のとおりです。

0 投票する
1 に答える
1481 参照

scala - Akka アクターは、Scala アクターが接続できたリモート サーバーに接続できません

少し問題が発生しました。現在のプロジェクトのクライアント サーバー通信をリモート Scala アクターからリモート Akka アクターに移動しました。

ローカル マシンでのテスト中はすべて正常に動作しましたが、別のマシンでクライアントとサーバーを使用してコードを実行しようとすると、クライアントはサーバーに到達できなくなります ( java.nio.channels.NotYetConnectedException. 使用されているIPとポートを2倍と3倍にチェックしました。これは、私が Scala アクターのコードで使用したのと同じホスト データです (ちなみに、これはまだ機能しています。そのため、ファイアウォールの設定で何も変更されておらず、サーバーは技術的に到達可能です)。

コードの重要な部分は次のとおりです (主に akkas のホームページからコピーして貼り付けました)。

サーバーアクターで

そしてクライアント上で:

Scala 2.8.1 (クライアントのマシンが 2.8 か 2.8.1 かはわかりませんが、akka ディストリビューションの scala-library.jar を使用しています) Akka 1.0

私のコードを彼女にデバッグできないことは知っていますが、ここで何がうまくいかないのか、どんな種類のヒントやアイデアにも非常に感謝しています.

PS: を送信しようとした後、一瞬のうちに例外がスローされますPing。そのため、タイムアウト時間を増やす必要はありませんでした。

0 投票する
1 に答える
1818 参照

java - JavaでのWebサーバー/サーブレットコンテナの作成-巨人の肩の上に立つ

何よりもまず、これは主に個人的な運動であると述べたいと思います。市場のニーズを満たすコンテナとサーバー(Tomcat、Jetty、Winstone)はたくさんあります。

先日、Akkaプロジェクトに出くわし、過去にErlangを楽しんだことがあるので、機能的なWebサーバーを構築するためにそれを使用するのは本当にクールだと思いました。

それから私は空想を始めました。最新のフレームワークを使用して、コードゴルフの方法でほぼ完全に「巨人の肩の上に立つ」Webサーバーを構築できたらどうでしょうか。つまり、他の人の作品をどれだけ使用できるかということです。

理想的には、要件は次のようになります。

  • フォールトトレラント、クラスター化可能、分散型
  • 設定が簡単
  • 構成可能なポートでHTTP、HTTPS、およびAJPをサポートします
  • インターフェイスバインディングと複数のドメインをサポート
  • プラグ可能なインターフェイスを介してJSP、Jythonなどをサポートします
  • WebDAV、プロキシ、URL書き換えなどの実装を可能にするモジュールをサポートします

この時点での私の最大の障害は、Jasper、Jetty、GlassFishなどを使用して、ネットワークなどの他のすべてのものを気にせずに、JSPを解釈する方法です。

機能に関する他の提案は非常に素晴らしいでしょう。また、従来とは異なる構成方法を調査して、XMLファイルやプロパティファイルよりも気に入っているものがあるかどうかを確認しています。Apacheに精通している方は、少しのスクリプトが必要な場合もあれば、キーと値のペアだけが必要な場合もあります。

だから、とにかく、あなたの提案で私を襲ってください。

0 投票する
1 に答える
10390 参照

java - akkaアクターからメッセージキューのサイズを取得する方法は?

アプリケーションには、Akka(Java API)アクター(UntypeActor)とメッセージがあります。APIコントラクトによると、いくつかのメッセージが同じアクターに宛てられている場合、それらはキューに入れられ、1つずつ処理されます。

キューのサイズに応じて、アクターでメッセージを処理したいと思います。基本的に:現在のメッセージがActor.onReceive()で処理されている時点で、少なくとももう1つのメッセージがキューに入れられていますか?これをアーカイブするAkkaの方法は何ですか?

0 投票する
3 に答える
5526 参照

concurrency - Clojureの並行性モデルとしてのAkka

Akkaフレームワークにはすばらしいことがたくさんあるようです(私はフレームワークを本当に理解していません。すぐに掘り下げたいと思っています)。
ClojureでAkkaを使用することをお勧めしますか?Clojureプロジェクトの並行性モデルとしてAkkaを使用し、組み込みの機能を削除することは理にかなっていますか?

0 投票する
2 に答える
2014 参照

facebook - Akka/ScalaからのアウトバウンドHTTPリクエストの送信

Akkaで着信httpリクエストを処理する方法は知っていますが、AkkaベースのWebアプリも、アウトバウンド呼び出しを送信することにより、HTTPAPIを介してFacebookおよびCouchDBと通信する必要があります。これの良い習慣はありますか?呼び出しは非同期である必要がありますか?

0 投票する
2 に答える
835 参照

java - Scala を使用した JMS ライクなキューの実装

Akka フレームワークを使用して Scala に JMS メッセージキューを実装することは可能ですか?

0 投票する
1 に答える
2878 参照

scala - クラスター内のアクター間の Akka と状態

私は、scala と Akka で書かれた Minecraft サーバーであるはずの bc 論文プロジェクトに取り組んでいます。サーバーは、クラウドまたはクラスターに簡単に展開できる必要があります (適切な用語を使用するかどうかはわかりません...複数のノードで実行する必要があります)。しかし、私はakkaの初心者であり、そのようなことをどのように実装するのか疑問に思っていました. 私が今理解しようとしている問題は、異なるノードのアクター間で状態を共有する方法です。私の最初のアイデアは、Minecraft クライアントから tcp ストリームを読み取り、それをロード バランサーに送信して、リクエストを処理するノードを選択し、tcp 経由でクライアントに応答を送信する Camel アクターを用意することでした。ユーザーによって提供された資格情報が有効かどうかをチェックする AuthenticationService 実装アクターがあるとしましょう。すべてのノードにはそのようなアクター (またはおそらくそれ以上) があり、すべてのアクターは常にユーザーのまったく同じデータベース (または状態) を持つ必要があります。私の質問は、この状態を維持するための最良のアプローチは何ですか? 考えられるいくつかの解決策を思いつきましたが、このようなことは何もしていないので、欠点を指摘してください:

解決策 #1: データベースに状態を保持します。これは、状態がユーザー名とパスワードのリストなどによってのみ表されるこの認証の例ではおそらく非常にうまく機能しますが、状態に整数や文字列に簡単に分割できないオブジェクトが含まれている場合はおそらく機能しません。

解決策 #2: 特定のアクターに状態を変更するリクエストがあるたびに、アクターはリクエストを処理した後、同じタイプの他のすべてのアクターに変更に関する情報をブロードキャストします。元のアクターによって送信された情報。これは非常に非効率的で、かなりぎこちないようです。

解決策 #3: 特定のノードを一種の状態ノードとして機能させ、サーバー全体の状態を表すアクターを配置します。そのようなノードのアクターを除く他のアクターは状態を持たず、データが必要になるたびに「状態ノード」のアクターに問い合わせます。これも非効率的で、一種のフォールト・ノンプルーフのようです。

それで、あなたはそれを持っています。私が実際に気に入っている唯一の解決策は最初の解決策ですが、私が言ったように、おそらく非常に限られた問題のサブセットでのみ機能します (状態を redis 構造に分割できる場合)。より経験豊富な教祖からの応答は非常に高く評価されます。よろしく、トーマス・ハーマン