【发布时间】:2015-09-05 11:07:05
【问题描述】:
我是演员建模领域的新手,我爱上了这个想法。但是是否存在一些模式来处理一批消息,以安全的方式进行批量存储?
如果我阅读了预期的 500 条消息中的 400 条消息并将它们放在一个列表中,如果系统关闭,我不想从(持久)中丢失这 400 条消息 邮箱。在服务总线世界中,您可以请求一批消息,并且只有在处理后,才提交所有消息。谢谢。
【问题讨论】:
-
为什么要投反对票?只是因为我的英语不好?
我是演员建模领域的新手,我爱上了这个想法。但是是否存在一些模式来处理一批消息,以安全的方式进行批量存储?
如果我阅读了预期的 500 条消息中的 400 条消息并将它们放在一个列表中,如果系统关闭,我不想从(持久)中丢失这 400 条消息 邮箱。在服务总线世界中,您可以请求一批消息,并且只有在处理后,才提交所有消息。谢谢。
【问题讨论】:
您可能希望将您的参与者系统与一些服务总线/可靠队列(如 RabbitMQ 或 Azure 服务总线)结合使用,仅用于消息处理。
在 Akka.NET 内部,您有 persistence 扩展,可用于将参与者状态存储在您选择的持久后端中。它还包含一种专用的actor,AtLeastOnceDeliveryActor,可用于重新发送消息,直到它们得到确认。
【讨论】:
你可以在你的 ESB 中扩展拆分和聚合来做到这一点,我很久以前就用 mule ESB 做了类似的事情。
【讨论】: