我们正在使用Scala+Akka为一款游戏开发服务器系统,该系统将为Android、iPhone和Second Life客户端提供服务。这个服务器的某些部分需要高可用性,能够在多台机器上运行。如果其中一个服务器失效(比如硬件故障),系统需要继续运行。我希望客户端有一份机器列表,类似于Cassandra的工作方式。
到目前为止,我看到的Akka的多节点示例似乎都是围绕可扩展性而设计的,而不是高可用性(至少在硬件方面)。多节点示例似乎总是有单点故障。例如,有负载均衡器,但如果我需要重新启动其中一个拥有负载均衡器的机器,我的系统将会遭受一些停机时间。
是否有任何示例展示了如何在Akka中实现此类型的硬件容错?或者,您是否有任何关于实现这一目标的好方法的想法?
到目前为止,我能想到的最好答案是研究Erlang OTP文档,对它们进行深思熟虑,并尝试使用Akka中可用的组件来构建自己的系统。 但是,如果有资源、示例或关于如何以一种方式在多台机器之间共享状态的想法,即使其中一台机器出现故障也可以继续运行,我将非常感激,因为我担心自己可能正在重复发明轮子。也许有一个多节点STM容器,可以自动跨多个节点同步共享状态?或者,这么做非常简单,文档没有展示如何实现的示例,或者我还没有进行足够的研究和实验。任何想法都会受到赞赏。
是否有任何示例展示了如何在Akka中实现此类型的硬件容错?或者,您是否有任何关于实现这一目标的好方法的想法?
到目前为止,我能想到的最好答案是研究Erlang OTP文档,对它们进行深思熟虑,并尝试使用Akka中可用的组件来构建自己的系统。 但是,如果有资源、示例或关于如何以一种方式在多台机器之间共享状态的想法,即使其中一台机器出现故障也可以继续运行,我将非常感激,因为我担心自己可能正在重复发明轮子。也许有一个多节点STM容器,可以自动跨多个节点同步共享状态?或者,这么做非常简单,文档没有展示如何实现的示例,或者我还没有进行足够的研究和实验。任何想法都会受到赞赏。