【问题标题】:How to handle In Memory Data when JVM Crashes? [closed]JVM崩溃时如何处理内存数据? [关闭]
【发布时间】:2016-01-18 14:25:32
【问题描述】:

我有一个场景,我从多个线程读取数据到一个 Java 对象(例如列表或映射)中。另一个线程正在从此对象读取数据并在确认时弹出。当JVM突然崩溃时,我想处理对象中的数据丢失,可能是由于电源故障或强制终止进程。

我可以将数据保存在文件中,但我需要最小化 I/O 以提高性能。 接受标准是无数据丢失

请给我一些想法。 提前致谢

【问题讨论】:

    标签: java performance io crash jvm


    【解决方案1】:

    无数据丢失 = 保存到多台机器(机器或数据中心)上的磁盘可能会死机。这当然是最慢的选择,但如果这是你需要的......

    另一种方法是复制到内存中的多台机器(有许多这样的解决方案),但您会受到数据中心之间链接速度的限制。

    【讨论】:

      【解决方案2】:

      由于您的接受标准是无数据丢失,因此您必须将磁盘持久性视为可行的选项之一。

      您可以使用以下方法。

      1. 按照 @Peter Lawrey 的建议在多个节点上坚持使用 disk
      2. 坚持data stores,如CouchbaseEhcache等(首选NoSQL
      3. 使用分布式消息系统,如Kafka

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-01-23
        • 1970-01-01
        • 2017-11-15
        • 2015-09-01
        • 1970-01-01
        • 2017-10-23
        相关资源
        最近更新 更多