Akka의 핵심 도구 세트를 기반으로, 더욱 강력한 고급 추상화를 제공한다.
앞서 언급했듯이, 신뢰성 있는 전달을 위한 명확한 대안은 명시적인 ACK-RETRY 프로토콜이다. 가장 간단한 형태로는 다음이 필요하다.
개별 메시지를 식별할 방법
시간 내에 확인되지 않으면 메시지를 다시 보내는 재시도 메커니즘
수신자가 중복을 탐지하고 제거할 방법
세 번째는 확인 메시지도 도착을 보장하지 않기 때문에 필요하다.
ACK-RETRY 프로토콜은 신뢰성 있는 전송 기능에서 비즈니스 수준의 확인과 식별자를 사용한 중복 제거를 지원한다.
이벤트 소싱(및 샤딩)은 수십억 사용자에게 확장되는 대형 웹사이트의 기반이다. 아이디어는 간단하다:
컴포넌트(액터라고 생각하면 됨)가 명령을 처리할 때 명령의 효과를 나타내는 이벤트 목록을 생성한다. 이 이벤트들은 컴포넌트의 상태에 적용될 뿐만 아니라 저장된다.
사용자 지정 메일박스 유형을 구현함으로써, 수신 액터의 끝에서 일시적인 실패를 처리하기 위해 메시지 처리를 다시 시도할 수 있다.
배달되지 못한 메시지는 /deadLetters라고 불리는 합성 액터에 배달된다.
이것의 주된 용도는 디버깅이다.
액터는 이벤트 스트림에서 akka.actor.DeadLetter 클래스에 구독할 수 있다.
액터가 스스로 종료하지 않을 때마다, 그것이 스스로에게 보내는 몇몇 메시지가 손실될 가능성이 있다.