我想解决两种情况:
答案 0 :(得分:2)
您将需要开发自己的协议,以确认消息以及消息已被处理,然后重试尚未处理的消息。参见:
https://doc.akka.io/docs/akka/current/general/message-delivery-reliability.html
始终有可能在基本功能之上增加更强的可靠性 ,但无法追溯性地删除 为了获得更高的性能。
答案 1 :(得分:0)
请注意,自从提出这个问题以来,Akka 2.6 就引入了(尽管 API 可能会发生变化)对 reliable delivery 的选择支持。当与持久生产者(即定义唯一持久性 ID 并将消息写入持久存储的生产者)结合使用时,这可以保证发送的消息最终会被传递,但代价是吞吐量显着降低(和/或大量持久性费用)。< /p>