【发布时间】:2014-01-09 17:06:57
【问题描述】:
考虑一个 A* 算法的实现。例如: A* implementation 假设输入图非常大,并且解决这段代码的时间足够长,以至于我想到了在这段代码之间崩溃的情况下进行故障恢复。故障可能是任何 - 软件/硬件等。 我不是在寻找代码,而只是针对此类恢复问题的常见解决方案的一些指示
【问题讨论】:
考虑一个 A* 算法的实现。例如: A* implementation 假设输入图非常大,并且解决这段代码的时间足够长,以至于我想到了在这段代码之间崩溃的情况下进行故障恢复。故障可能是任何 - 软件/硬件等。 我不是在寻找代码,而只是针对此类恢复问题的常见解决方案的一些指示
【问题讨论】:
有几种选择:
请注意,在某些情况下,算法实现会出现问题, 所以恢复是不可能的。 但是当外部组件出现问题时 (例如,您将某些内容存储在数据库中) 重复可能会有所帮助。 例如,数据库可能已关闭或与另一个事务存在写入冲突。
【讨论】:
当您遇到大型数据集的潜在故障时,通常使用冗余数据库。如果您绘制数据,您可能会喜欢使用 neo4j,它现在具有漂亮的界面,但也支持冗余,并且可以嵌入使用以最大限度地减少延迟。
如果您只需要高吞吐量的持久复制,Java Chronicle 通过 TCP 复制支持每秒 5-20 百万条消息(最高可达网络带宽限制)
如果您需要的 150 多个无 sql 数据库中没有一个适合您,您仍然需要实现类似它们的东西 http://nosql-database.org/
【讨论】: