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