gpt4 book ai didi

java - Akka 集群 - 每个节点一个 Manager Actor

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:01:32 25 4
gpt4 key购买 nike

我正在开发一个经常查询大量参与者并因此发送/接收大量消息的应用程序。当应用程序在单台机器上运行时,这不是问题,因为消息是在速度非常快的单个 JVM 的边界内发送的。但是,当我在多个节点(使用 akka-cluster)上运行应用程序时,每个节点都托管这些参与者的一部分,并且消息通过网络传输变得非常慢。

我想出的一个解决方案是在运行应用程序的每个节点上都有一个 ManagerActor。这将大大减少交换的消息数量(即,如果我们在 3 个节点上运行应用程序,我们将发送 3 条消息,而不是向每个参与者发送数千条消息 - 每个 ManagerActor 一个,然后在当前 JVM 中将消息发送到其他(数千个) Actor ,速度非常快)。但是,我对 Akka 还很陌生,我不太确定这样的解决方案是否有意义。你看到它有什么缺点吗?还有其他更好/更适合 Akka 的选项吗?

最佳答案

你可以使用 Akka 的 Distributed Publish-Subscribe实现这一目标。这样,您只需按照通常的方式在每个节点上启动一个管理器参与者,让它们订阅一个主题,然后使用该主题主题向它们发布消息。上面链接的文档中有一个简单的示例。

关于java - Akka 集群 - 每个节点一个 Manager Actor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46180192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com