首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >扫描Akka Actor

扫描Akka Actor
EN

Stack Overflow用户
提问于 2011-11-23 11:33:14
回答 1查看 433关注 0票数 1

我有一个节点,它可能正在运行服务器的多个实例(Akka远程参与者)。我希望客户端能够扫描给定节点上的一系列端口,以查找活动服务器。

我在我的客户执行元中编写了这个方法:

代码语言:javascript
复制
  private def scanHost(serverHost: String) = {
    val initialPort = 36627
    val portsToScan = (initialPort until initialPort + 32).toList
    val tries = portsToScan map {
      port  ⇒ remote.actorFor("EnMAS-service", serverHost, port) ? Discovery
    }
    val replies = tries filter { future  ⇒ {
      try { 
        future.get match {
          case reply: DiscoveryReply  ⇒ true
          case _  ⇒ false
        }
      }
      catch { case _  ⇒ false }
    }}
    ClientManager.ScanResult(replies map {_.get.asInstanceOf[DiscoveryReply]})
  }

我想知道,有没有更地道的方法来完成这件事?我在这方面找不到太多,尽管我认为这种用例相当常见。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-11-23 18:49:25

听起来你在找一群人。在Akka2.1发布(具有内置集群支持)之前,您可以使用ZooKeeperJGroups等工具让节点在启动时注册,在离开时取消注册(或超时)

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8236990

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档