ase*_*ovm 10 java distributed-computing actor akka akka-cluster
我正在研究一个经常查询大量演员的应用程序,因此发送/接收大量消息.当应用程序在单个机器上运行时,这不是问题,因为消息是在单个JVM的边界内发送的,这是非常快的.但是,当我在多个节点上运行应用程序(使用akka-cluster)时,每个节点都承载这些actor的一部分,并且消息通过网络传播,这变得非常慢.
我想出的一个解决方案是在运行应用程序的每个节点上都有一个ManagerActor.这将极大地减少交换的消息数量(即,不是向每个参与者发送数千条消息,如果我们在3个节点上运行应用程序,我们发送3条消息 - 每个ManagerActor一个,然后在当前JVM中将消息发送到其他(成千上万)演员非常快.但是,我对Akka很新,我不太确定这样的解决方案是否合理.你觉得它有什么缺点吗?对Akka更好/更原生的任何其他选择?