我是 akka 的新手,打算在我的新项目中使用它作为数据复制机制。
在这种情况下,有一个主服务器和一个复制数据服务器。复制数据应包含与主数据相同的数据。每次在主服务器中发生数据更改时,它都会向复制服务器发送一条更新消息。这里主服务器是发送方,复制服务器是接收方。
但是在挖掘了文档之后,我仍然不确定如何满足以下用例:
所以我的问题是,如何配置 akka 以创建可以执行此操作的发送方和接收方?
我不确定带有 DurableMessageBox 的 actor 可以解决这个问题。如果可以,我如何模拟上述情况进行测试?
更新:
在阅读了 Victor 所指的文档后,我现在明白我想要的是 仅此一次 模式,这是非常昂贵的。
在 akka 文档中它说
Actual transports may provide stronger semantics, but at-most-once is the semantics you should expect. The alternatives would be once-and-only-once, which is extremely costly, or at-least-once which essentially requires idempotency of message processing, which is a user-level concern.
所以为了实现保证交付,我可能需要转向其他一些 MQ 解决方案(例如 Kafka ),或者尝试实现 仅此一次 使用 DurableMessageBox,看看我的特定用例是否可以减轻它的复杂性。
最佳答案
您需要编写自己的使用持久订阅者模式的远程处理,因为 Akka 消息发送保证没有您想要的那么严格:http://doc.akka.io/docs/akka/2.0/general/message-send-semantics.html
干杯,
√
关于akka - 如何使用 akka 作为复制机制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9764725/