새 프로젝트 (Java 기반)를 시작하는 중입니다. 모듈 형, 분산 및 복원력있는 아키텍처로 구축해야합니다.Akka 또는 Reactor
따라서 비즈니스 프로세스간에 상호 통신이 가능하고 상호 운용 가능하지만 독립적이어야합니다.
나는 시대에 자신의 차이 외에 2 개 개의 다른 의견 표현이,이 프레임 워크에서 지금 당장 찾고 있어요 :
- Akka (http://akka.io)
- 반응기 (https://github.com/reactor/reactor)
를 내가 위의 프레임 워크 중 하나를 선택할 때 고려해야 할 사항은 무엇입니까?
내가 지금까지 이해하고있는 한, Akka는 여전히 (내가 메시지를 보내려는 배우를 '선택'해야하는 방식으로) 어떻게 든 결합되어 있지만 매우 탄력적입니다. Reactor가 느슨한 동안 (이벤트 게시를 기반으로 함).
누군가 적절한 결정을 내리는 데 도움이 될 수 있습니까?
UPDATE
더 검토 한 후 Akka의 Event Bus, 나는 features expressed by Reactor 이미 Akka에 포함 된 어떤 방법으로 생각합니다. 따라서이 둘 사이의 주요 차이점이라는 것을 지금 나에게 보인다
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으로 표현 될 수있다
- Akka, 더 성숙한, 봄에 바인딩,
- 원자로, 초기 단계를 형태 보증 할 의무
제 해석이 맞습니까? 그러나 Akka의 액터와 Reactor의 소비자 인의 개념적 차이점은 무엇입니까?
Akka는 스칼라가 사용하는 바인드되어 있지 :) 몇 달 더 비교 포인트를해야합니다 사실, 대부분의 자바에서 그것을 사용할 수 있습니다. –
Hello Viktor, 예, 저는 Java에서도 Akka를 사용하고 있습니다. 제가 의미하는 바는 Akka가 Typesafe 생태계의 일부이며, Reactor to Spring입니다. Scala에서 개발할 때 Akka가 아마도 가장 적절한 선택 일 것입니다. –
빅토르는, 나는 우리가 Akka가 (이벤트 버스, Dispatcher 및 사서함 포함)은 Reactor 패턴을 구현 말할 수 있으리라 생각 나는 수정입니까? –