我有一个特定的Akka
实现用例。
我有一组向 Akka 发送心跳的代理。Akka 接受这个心跳,并分配参与者将它们发送到我的元数据服务器(一个单独的服务器)。这部分完成了。
现在我的元数据服务器还需要向代理发送操作信息。但是,由于这些代理可能位于防火墙后面,Akka 无法直接与它们通信,因此它需要将操作作为对 Heartbeat 的响应发送。因此,当元数据服务器发送一个动作时,Akka 将其存储在 a 中DurableMessageQueue
(每个单独一个agentID
)并将 agent-ID 映射到DurableMessageQueue
a 中HashMap
。然后每当心跳到来时,在响应之前它会检查这个队列并在响应中捎带动作。
问题在于HashMap
它将位于单个 JVM 中,因此我无法扩展它。我错过了什么还是有更好的方法来做到这一点?
我有 Akka 在运行的 Mina 服务器后面运行,它接收和发送消息。