我对 Akka 很陌生,对分布式编程也很陌生。使用 Akka 的 Mist 组件,我创建了受监督的 Actor 来异步处理 HTTP 请求。当前,所有内容都在具有本地参与者的一台物理机器上运行。我不明白的是如何构建一个具有多个盒子的真正容错系统。如 Akka 文档中所述:
此外,您(通常)需要知道一个盒子是否已关闭和/或您在另一个盒子上与之交谈的服务是否已关闭。在这里,参与者监督/链接是一个关键工具,不仅可以监控远程服务的健康状况,而且可以实际管理服务,如果参与者或节点出现故障,请对问题采取一些措施。比如在同一个节点或者另一个节点上重启actors。
我该怎么做呢?我正在寻找有关如何开始分发我的应用程序的示例或指示。我们组中的其他服务在多个 Tomcat 实例前使用 Apache 网关,因此 Tomcat 服务器宕机的事件对用户来说是透明的。我正在将我的服务部署到 Akka 微内核,并且需要在多个物理机器上实现类似级别的高可用性。
我正在使用 Akka 1.1.3。