2013-03-06 1 views

답변

2

제 2의 마틴의 대답 Akka 배우는 더 복잡한 것들을 만들 수있는 기본 빌딩 블록을 형성하기위한 것이지 마틴의 도서관은 그 훌륭한 예입니다. "기초"에서 그 기능을 점점 더 많이 제공하는 것은 우리가 몇 년 전에 시도하고 되 돌린 것입니다.

1

일종의 메시지 지속성을 추가하여 Akka 신뢰할 수있는 프록시 패턴 (http://doc.akka.io/docs/akka/snapshot/contrib/reliable-proxy.html)을 채택 할 수 있습니다.

또한 메시지 상태, 타임 스탬프 및 대상 액터 유형을 추가하여 DB에 메시지를 보관할 수있는 고유 한 영구 메일 함을 만들 수 있습니다. 크기를 조정할 수있는 라우터의 Routees에 대한 영구 메일 함의 문제도 해결할 수 있습니다. 신뢰할 수있는 프록시에도이 저장소를 사용할 수 있습니다 (타임 스탬프 및 TARGET 액터 유형 사용). 이 경우 동일한 유형의 활성 액터가 작동하지 않는 클러스터 노드에서 시간이 초과 된 메시지를 복구 할 수 있습니다.

우리 프로젝트에서 이러한 메커니즘을 사용하면 우리의 내구성 사서함도 확인 모드를 지원하며 처리 중에 시간이 초과 된 메시지를 복구 할 수 있습니다 (메시지 처리 중에 배우가 죽는 경우). maxFailures (응답 모드의 경우)를 잊지 말고 PoisonPill/Kill 메시지를 유지하지 마십시오.

+0

안녕하세요 sergiy.have 당신이 db에 내구성 사서함에 대한 자신의 구현을 작성하거나 사용 준비가 이미 찾았나요? – omartin

+0

MongoDB를 기반으로하는 자체 구현을 작성했습니다. 나는 약간의 리팩토링/미화 (이것을위한 충분한 시간이있을 때) 후에 그것을 공유 할 것을 계획한다. –

관련 문제