Page History
Info |
---|
At-Least-Once Delivery - 적어도 메시지를 한번 보내려는 메카니즘으로 PersistenceActor와 결합하여 실패없는 메시지 전송 목표를 달성할수 있습니다. 적어도 한번 보내려는 메카니즘으로 인해 중복 메시지 발생할수 있음에 유의하여 작성 해보겠습니다.
여러가지 에러를 캐치하여 재접속및 재선송 루틴으로 해결하려고 하였습니다. 하지만 이러한 전략은 대부분 실패를 하였고 최종 수신처가 확인해주는 방법이 보증을 할수 있는 가장 간단한 방법이며 언랭에서 도입되고 성공한 전송전략입니다. |
...
Code Block | ||||||||
---|---|---|---|---|---|---|---|---|
| ||||||||
//메이븐 설정 <dependency> <groupId>com.typesafe.akka</groupId> <artifactId>akka-persistence_2.12</artifactId> <version>${akka.version}</version> </dependency> <dependency> <groupId>org.fusesource.leveldbjni</groupId> <artifactId>leveldbjni-all</artifactId> <version>1.8</version> </dependency> //Akka Persistence설정 : 다양한 복구옵션과 다양한 저장장치선택이 가능합니다. 여기서는 기본 local-disk 장치를 이용합니다. //작동중에만 고성능으로 영속성을 사용한다고하면 akka.persistence.journal.inmem 로 설정만 교체하면 되며 //영구 저장은 스냅샷 전략을 통해 db에 저장이 가능합니다. akka{ extensions = [akka.persistence.Persistence] persistence { journal { plugin = "akka.persistence.journal.leveldb" auto-start-journals = ["akka.persistence.journal.leveldb"] } snapshot-store { plugin = "akka.persistence.snapshot-store.local" auto-start-snapshot-stores = ["akka.persistence.snapshot-store.local"] } } } |
...
Expand | ||
---|---|---|
| ||
의도적으로 드랍한 메시지가 결국 성공됨을 확인할수가 있습니다. drop msg for test:861 |