The Akka 2.1 document suggests using the reliable proxy pattern to do guaranteed message delievery, i.e a message is delivery once and only once to the recipient queue. To make sure the message won't lost in case of JVM crashes, I believe the message is stored in persistent queue.
The basic idea is that to send message M from actor A to B, it sends M to two proxy actor P and E, where P is on A's side, and E is on B's side. See this image for detail
Does actor P as well as E need its own persistent queue? A message send from A to B will be persisted in P's queue and E's queue before being persisted in B?