当使用可靠的代理模式来保证消息发送时,Akka会持续多少次消息?

时间:2013-01-30 21:15:03

标签: proxy akka

Akka 2.1文档建议使用reliable proxy pattern进行有保证的邮件传递,即邮件只传递一次并传递给收件人队列。为了确保在JVM崩溃的情况下消息不会丢失,我相信消息存储在持久队列中。

基本思想是,将消息M从演员A发送到B,它将M发送给两个代理人P和E,其中P在A侧,E在B侧。见this image for detail

actor P和E是否需要自己的持久队列?从A发送到B的消息将被保存在P的队列和E的队列中,然后才会被保存在B中?

1 个答案:

答案 0 :(得分:3)

该模式与持久性消​​息队列无关:它只是旨在使远程传递与本地传递一样可靠(在由易错网络强加的不可靠性限制内)。因此,当JVM崩溃时,消息将丢失。

这些参与者(P和E)不能很好地使用持久邮箱,因为P会在内部存储邮件,即不会持久存储邮件。它会将它们从邮箱中删除。您需要调整模式以使P保持其内部队列。