How many times does Akka save a message when using a secure proxy pattern to guarantee a guaranteed message?

Akka 2.1 suggests using a robust proxy pattern to guarantee a guaranteed message, i.e. the message is sent once and only once to the recipient's queue. To ensure that the message is not lost in the event of JVM crashes, I believe the message is stored in a persistent queue.

The basic idea is that to send a message M from actor A to B, it sends M to two proxy actors P and E, where P is on side A and E is on side B. See this image for details

Do actor P as well as E really need his constant queue? Will a message sent from A to B be stored in queue P and queue E before being stored in B?

+3


source to share


1 answer


The pattern is not a persistent message queue: it simply aims to make remote delivery as reliable as local delivery (within the unreliability constraints imposed by the faulty network). Thus, if JVM messages fail, the messages will be lost.



These members (P and E) do not play well with durable mailboxes because P forces messages internally, i.e. not persistently. He takes them out of the mailbox to do this. You will need to adapt the template so that P keeps its internal queue.

+3


source







All Articles