proxy - 当使用可靠代理模式进行有保证的消息传递时,Akka 会保留多少次消息?

标签 proxy akka

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

基本思想是,要将消息 M 从 actor A 发送到 B,它将 M 发送到两个代理 actor P 和 E,其中 P 在 A 端,E 在 B 端。参见 this image for detail

actor P 和 E 是否需要自己的持久化队列?从A发送到B的消息在持久化到B之前会先持久化到P的队列和E的队列中?

最佳答案

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

这些参与者(P 和 E)不能很好地使用持久邮箱,因为 P 在内部存储消息,即不是持久的。这样做会将他们从邮箱中取出。您需要调整模式,让 P 保留其内部队列。

关于proxy - 当使用可靠代理模式进行有保证的消息传递时,Akka 会保留多少次消息?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14613931/

相关文章:

scala - 如何使 Scalatest 与 Spraytestkit 和 HttpServiceActor 一起工作

java - 使用 Java 和 Maven 的 Akka 微内核有什么意义?

java - Rally Java Lookback api 无法在 Proxy 后面工作

java - Proxy 可以向 HTTPS 请求插入 header 吗?

Java Selenium : Using proxy with authentication

scala - Akka:actor当前的邮箱大小或等待处理的邮件数

c# - 如何在 defaultProxy 配置设置中传递凭据?

ssl - 我可以使用 Squid 升级客户端 TLS 连接吗?

akka - Behaviors.same 与此

scala - 使用 Akka Hello World 示例的简单并发