9

AkkaアクターとJadeエージェントの概念に大きな違いはありますか?

私が知っていることから、両方とも、メッセージを送信することで通信できる独立したエンティティ (システム ロジックのチャンクを含む) を作成することにより、システム分散を実装します。

それらを異なるものにする他の要因はありますか(パフォーマンスや意図された目的など)?

4

3 に答える 3

17

私は以前に JADE について知りませんでした。私は Akka のテクニカル リードです。

彼らのサイトをざっと見てみると (おそらく、はるかに小さな画面で表示されるはずです)、彼らのエージェントはアクターのシリアル メッセージ処理部分を行っているように見えますが、監視が不足しているためフォールト トレランスがなく、ブロックまたはブロックのいずれかを推奨しているようです。 Akka のアクターは完全にイベント ドリブンであるため、リソース (スレッド) の消費が少なくなります。Programmer's Guide を見ると、コンセプトは主に GUI 開発のユースケース向けに開発されているように見えますが、Akka アクターは特定のものではなく、あらゆる種類の計算や相互作用のモデル化に使用できます。

表面的な検索でつまずいた非常に大きな違いの 1 つは、エージェントとアクターに提供されるインターフェイスのサイズです。Akka の抽象化はより単純で、したがってより強力である可能性があります。

ホスト間でエージェントを移動する機能は興味深いようですが、まだ実装する必要があります (ロードマップを参照)。

JADE 側で何かが欠けていなければ、Akka は完全に非ブロッキングのアクター、構成可能な Future と組み合わせた ask パターン (つまり、java.util.concurrent からのブロッキングのものではなく、変換メソッドを使用) を使用したリアクティブ プログラミングのサポートがはるかに優れています。非同期合成用)、STM サポートなど。

JADE がどのようにそれを行うのかはわかりませんが、Akka では、構成を変更するだけでアクターを柔軟にスケールアップおよびスケールアウトできます。ルーティングを参照してください。

最後になりましたが、Akka にはクラスターサポートがあり、JADE には対応する機能が見つかりませんでしたが、ここでもあまり深く掘り下げていません。

私が気づいたことの 1 つ: Akka を試すのにログインは必要ありません ;-)

于 2013-03-08T21:43:24.567 に答える
3

再び1年後....フェイルオーバーがJadeの鍵であることを確認できます。メカニズムのいくつかに言及すると、バックアッププラットフォーム、仮想複製エージェントの概念、ステートレスメディエーターコンテナー(切断とIP変更の処理)、永続性メッセージ配信。Wade はフォールト トレランスにさらに追加します: http://jade.tilab.com/wade/doc/WADE-User-Guide.pdf

Jade はほとんど GUI 開発を対象としていません。

Jade のもう 1 つの強力な機能は、エージェントがネットワーク経由の双方向通信にポートを開く必要がなく、プラットフォームとバックアップのみがポートを開く必要があることです。

さらに、STM (finite state machine) は Jade の重要な部分であり、FIPA 会話モデルは STM を使用して実装されています。Jade エージェントは、メッセージの送受信はあまり行いませんが、ワークフローで会話を実行します。

クラスタリングは Jade では利用できませんが、Wade は、分散エージェントのプールが特定のタスクを処理する構成可能なエージェント プールを提供します。

Elastic scaling と Jade については、いくつかの調査が行われていますが、その状況はわかりません。おそらく、jvm レベルでエラスティック スケーリングに対処する方がよいでしょう。

Jade と Akka の両方で注意が必要なテーマは、分散メッセージ ベースのソリューションにおけるセキュリティ (ID、認証、承認) です。

結論として、Jade は一目見ただけでわかるよりもはるかに強力で機能が豊富です。ジェイドには近代化が必要です。

Akka と Jade がどのように相互に利益をもたらすか、AkkaAgent を調査するのは興味深いことです。

于 2016-12-09T10:17:51.917 に答える