有没有可能复制一个完整的JVM,并在故障转移的情况下简单地将负载反转到复制的JVM?
如果是,那么我们怎么做呢?
发布于 2011-12-27 18:08:41
如果您的应用程序是web应用程序,请阅读“集群”和“负载平衡”。大多数应用程序服务器都支持集群。
您还可以看看JGroups,它提供了JVM间的通信。
发布于 2011-12-27 18:08:00
这不是在JVM级别上完成的事情,但是有许多产品可以在消息处理中处理这一点。通常,这是企业服务总线的一个特性。用谷歌搜索一下,你会得到一些想法。
发布于 2011-12-27 18:14:18
理论上是这样的,但主要的问题是你的应用程序会慢得多(比如100到1000倍),这就是大多数人不愿意进行完全复制的原因。
相反,您需要生成重要信息的数据流,例如所有输入或输出消息(或两者),并将其发送到第二台机器,然后从现有数据重新构建状态。
顺便说一句:当您失去与服务器的TCP连接时,这些连接必须关闭并重新连接。这些不会透明地进行故障转移。UDP通过没有连接来避免这个问题,但要可靠地工作要困难得多。解决这个问题的一种方法是在客户端和服务器之间建立一个简单的代理/负载平衡服务器。因为它很简单,不太可能失败,而且它隐藏了与服务器的重新连接。无论你有一个数据中心故障,它也会消失。
https://stackoverflow.com/questions/8643392
复制相似问题