私は新しいプロジェクト(Javaベース)を開始する途中です。私はそれをモジュラーで分散した弾力のあるアーキテクチャとして構築する必要があります。AkkaまたはReactor
私は、相互に通信できるビジネスプロセスを持ち、相互運用可能で、しかも独立していたいと思います。私は、年齢でその差以外にも2つのフレームワークで、今探しています
、2つの異なる見解表明:
何I上記のフレームワークのいずれかを選択する際に考慮する必要がありますか?
私が今まで理解している限り、Akkaはまだ何らかの形で結合されています(私はメッセージを送信したい俳優を「選択」しなければならない)が、非常に弾力性があります。 Reactorは緩やかですが(イベント投稿に基づいています)。
誰かが正しい判断を下す方法を理解する助けになることができますか?
UPDATE
良くアッカのEvent Busを確認した後、私はfeatures expressed by Reactorがすでにアッカに含まれているいくつかの方法を信じています。従って、両者の間に大きな違いがあることを今私には思える
final ActorSystem system = ActorSystem.create("system");
final ActorRef actor = system.actorOf(new Props(
new UntypedActorFactory() {
@Override
public Actor create() throws Exception {
return new UntypedActor() {
final LoggingAdapter log = Logging.getLogger(
getContext().system(), this);
@Override
public void onReceive(Object message)
throws Exception {
if (message instanceof String)
log.info("Received String message: {}",
message);
else
unhandled(message);
}
};
}
}), "actor");
system.eventStream().subscribe(actor, String.class);
system.eventStream().publish("testing 1 2 3");
を::
は、例えばhttps://github.com/reactor/reactor#events-selectors-and-consumersに文書化され、サブスクリプションおよびイベント発行は、以下のようアッカで表現することができる
- アッカ、より成熟した、春にバインドされ、
- 炉、早期に型保証するためにバインドされ
私の解釈は正しいですか?しかし、AkkaのActorとReactorのConsumerの違いは何ですか??
アッカは、スカラで使用するためにバインドされていない:)数ヶ月でより多くの比較ポイントを持っています実際には、大多数は、Javaからそれを使用しています。 –
こんにちはViktor、はい、私はAkkaをJavaでも使っています。私が意味することは、AkkaはTypesafeエコシステムの一部であり、Reactor to Springは一部であるということです。 Scalaで開発する場合、Akkaがおそらく最も適切な選択肢になるでしょう。 –
Viktor、AkkaがReactorパターン(イベントバス、ディスパッチャ、メールボックス)を実装しているとは言えるでしょうか? –