【问题标题】:routing configuration for akka cluster with remote nodes具有远程节点的 akka 集群的路由配置
【发布时间】:2015-03-04 16:58:34
【问题描述】:

我有几个远程节点位于不同的计算机上并连接在集群中。 因此,它是具有“日志记录”角色的节点之一上的日志系统,它在数据库中写入日志。 我选择使用路由将消息从其他节点传递到记录器。 我有一个带有主要演员和三个子演员的节点。他们每个人都必须将日志发送到记录器节点。 我的路由器配置:

akka.actor.deployment {
  /main/loggingRouter = {
    router = adaptive-group
    nr-of-instances = 100
    cluster {
      enabled = on
      routees-path = "/user/loggingEvent"
      use-role = logging
      allow-local-routees = on
    }
  }
  "/main/*/loggingRouter" = {
    router = adaptive-group
    nr-of-instances = 100
    cluster {
      enabled = on
      routees-path = "/user/loggingEvent"
      use-role = logging
      allow-local-routees = on
    }
  }
}

然后我用这段代码在每个参与者中创建路由器

val logging = context.actorOf(FromConfig.props(), name = "loggingRouter")

然后发送

logging ! LogProtocol("msg")

之后,记录器仅接收来自一个子角色的消息。我不知道如何调试它,但我猜我为此应用了错误的模式。

此任务的最佳做法是什么?谢谢。

来自记录器节点的演员:

system.actorOf(Logging.props(), name = "loggingEvent")

【问题讨论】:

    标签: scala akka akka-cluster


    【解决方案1】:

    问题在于具有相同名称的路由器。我看到了,好的模式是在主要角色中创建一个路由器并将其发送给孩子。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      • 2020-07-08
      • 1970-01-01
      相关资源
      最近更新 更多