2011-08-26 85 views
9

我对阿卡相当陌生,对分布式编程一般都很陌生。使用Akka的Mist组件,我创建了受监督的actor来异步处理HTTP请求。当前所有东西都在当地的演员身上运行。我不明白的是如何用多个盒子构建真正的容错系统。如Akka文档中所述:阿卡的分布式演员

此外,您(通常)需要知道一个盒子是否关闭和/或您正在与另一个盒子上的对话服务关闭。在这里,角色监督/链接不仅是监视远程服务的健康状况的关键工具,而且还是为了实际管理服务,如果该角色或节点停止运行,则可以对问题进行处理。如重新启动同一节点或另一个节点上的参与者。

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

我正在使用Akka 1.1.3。

回答

2

远程监控仅适用于Akka 1.x系列客户端管理的远程参与者。

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

+2

2.0的预计发布日期是多少? – chunjef

+9

完成后。 –

1

您可能会考虑在运行Mist的Akka Microkernel实例前放置一个HTTP负载平衡器,这将与您的团队用“Apache网关”所做的相匹配。

另一种方法是暴露远程演员在许多情况下,然后用阿卡的负载平衡器或演员池周围发送消息,see here

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

就2.0的发布日期而言,它的价值1.2最近刚刚在2011-Sept-19上发布。