Je suis dans le processus de démarrage d'un nouveau projet (java). J'ai besoin de le construire comme un système modulaire, la distribution et la résilience de l'architecture.
Donc je voudrais avoir les processus d'affaires pour communiquer entre eux, être interopérables, mais aussi indépendante.
Je suis à la recherche dès maintenant à deux cadres, en plus de leur différence d'âge, express 2 points de vue différents:
- Akka (http://akka.io)
- Réacteur (https://github.com/reactor/reactor)
Ce que je dois considérer lors du choix d'un de ces cadres?
Autant que je sache, jusqu'à présent, Akka est toujours en quelque sorte couplé (d'une manière que je dois choisir l'acteur je veux envoyer les messages), mais très résistant. Alors que le Réacteur est en vrac (comme c'est basé sur la publication d'événement).
Quelqu'un peut-il m'aider à comprendre comment faire une bonne décision?
Mise à JOUR
Après examen de mieux l' Événement de Bus de Akka, je crois, d'une certaine façon les caractéristiques exprimées par les Réacteurs sont déjà inclus dans Akka.
Par exemple, l'abonnement et de l'événement de l'édition, documenté sur https://github.com/reactor/reactor#events-selectors-and-consumerspeuvent être exprimées à Akka comme suit:
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");
Par conséquent, il me semble maintenant que les principales différences entre les deux sont les suivants:
- Akka, plus mature, lié à Typesafe
- Réacteur, stade précoce, liée au Printemps
Est mon interprétation correcte? Mais qu'est-ce que le plan conceptuel de la différence entre l'Acteur dans Akka et le Consommateur dans le Réacteur?