Note that there are some explanatory texts on larger screens.

plurals
  1. POAkka or Reactor
    primarykey
    data
    text
    <p>I am in the process of starting a new project (java-based). I need to build it as a modular, distributed and resilient architecture.</p> <p>Therefore I would like to have the business processes to communicate among themselves, be interoperable, but also independent.</p> <p>I am looking right now at two frameworks that, besides their difference in age, express 2 different views:</p> <ul> <li>Akka (<a href="http://akka.io" rel="noreferrer">http://akka.io</a>)</li> <li>Reactor (<a href="https://github.com/reactor/reactor" rel="noreferrer">https://github.com/reactor/reactor</a>)</li> </ul> <p>What I should consider when choosing one of the above frameworks?</p> <p>As far as I understand till now, Akka is still somehow coupled (in a way that I have to 'choose' the actor I want to send the messages to), but very resilient. While Reactor is loose (as is based on event posting).</p> <p>Can someone help me understand how make a proper decision?</p> <p><strong>UPDATE</strong></p> <p>After reviewing better the <a href="http://doc.akka.io/docs/akka/snapshot/java/event-bus.html" rel="noreferrer">Event Bus</a> of Akka, I believe in some way the <a href="https://github.com/reactor/reactor#events-selectors-and-consumers" rel="noreferrer">features expressed by Reactor</a> are already included in Akka.</p> <p>For example the subscription and event publishing, documented on <a href="https://github.com/reactor/reactor#events-selectors-and-consumers" rel="noreferrer">https://github.com/reactor/reactor#events-selectors-and-consumers</a>, can be expressed in Akka as following:</p> <pre><code>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"); </code></pre> <p>Therefore it seems to me now that the major differences between the two are:</p> <ul> <li>Akka, more mature, bound to Typesafe</li> <li>Reactor, early stage, bound to Spring</li> </ul> <p>Is my interpretation correct? But <strong>what is conceptually the difference between the Actor in Akka and the Consumer in Reactor</strong>?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload