'named' 在 Lagom 中的用途是什么

what is purpose of 'named' in Lagom

在下面的代码中,我认为服务被命名为 hello。谁使用这些信息?服务定位器?

named("hello")
      .withCalls(
        pathCall("/api/hello/:id", hello _),
        pathCall("/api/hello/:id", useGreeting _),
      )

此名称hello 是服务定位器使用的服务名称。

注意,要注册服务定位器,您需要设置 withAutoAcl:

named("hello")
      .withCalls(
        pathCall("/api/hello/:id", hello _),
        pathCall("/api/hello/:id", useGreeting _),
      ).withAutoAcl(true)

如果不提供 withAutoAcl(true),该服务将启动但不会向服务定位器注册。因此,您需要直接调用它(在其端口上),而不是通过服务网关(默认情况下为 9000)。

通过将其标记为真,服务网关会自动配置,以将 hello 相关服务调用转发给您的实现。