首页 文章

阿卡的分布式演员

提问于
浏览
9

我是Akka的新手,也是分布式编程的新手 . 使用Akka的Mist组件,我创建了受监督的actor来异步处理HTTP请求 . 目前一切都在当地演员的一台物理机器上运行 . 我不明白的是如何构建一个具有多个盒子的真正容错系统 . 正如Akka文档中所述:

此外,您(通常)需要知道一个盒子是否关闭和/或您在另一个盒子上正在与之通话的服务是否已关闭 . 这里的actor监督/链接是一个关键工具,不仅可以监视远程服务的 Health 状况,还可以实际管理服务,如果actor或节点出现故障,可以对问题采取一些措施 . 例如在同一节点或另一个节点上重新启动actor .

我该怎么做呢?我正在寻找一个关于如何开始分发应用程序的示例或指针 . 我们组中的其他服务在多个Tomcat实例之前使用Apache网关,因此Tomcat服务器关闭的事件对用户是透明的 . 我正在将我的服务部署到Akka微内核,并且需要在多个物理盒中实现类似级别的高可用性 .

我正在使用Akka 1.1.3 .

2 回答

  • 1

    远程监控仅适用于Akka 1.x系列的客户端管理的远程角色 .

    目前正在开发的Akka 2.0将支持透明集群,集群范围的监控和集群范围的生命周期监控 .

  • 2

    您可以考虑在运行Mist的Akka Microkernel实例前面放置一个HTTP负载均衡器,这将与您的组对“Apache网关”进行匹配 .

    另一种方法是在多个实例上公开远程actor,然后使用Akka的LoadBalancer或Actor Pool来发送消息,see here

    如果你有一个动态的机器池,第二种方法有点痛苦,因为要以编程方式指定设备池 . Akka 2.0使用在akka.conf文件中设置的群集支持来解决此问题 .

    至于2.0的发布日期,它的 Value 1.2最近才在2011-Sept-19上发布 .

相关问题