如何解决Java I/O - 事务性文件存储
我正在寻找一种以原子方式在磁盘上存储相关文件的可靠方法。要么存储所有给定的文件,要么根本不存储任何文件。我遇到过 Apache commons transaction,但由于缺乏可靠性,该项目似乎被放弃了。
我能得到的最佳解决方案是什么?以及企业系统如何处理此类事情?
解决方法
您需要在不同的远程计算机上还是在本地的一台机器上创建多个文件?
对于本地,我会做一些简单的建议,例如预先计算可用空间、写入临时文件并在成功时重命名它们,...如果事务正在进行、已过时或成功,您可以存储创建的临时文件列表及其状态。如果您发现异步工作器已过时,您可以清理这些临时文件。
对于远程机器,您需要某种一致性多播功能来以一致的集群方式协调您的服务器。
另请注意,数据库处理事务的方式与集群业务用例系统、远程文件系统和共享服务等完全不同。 (数据库是根据 ACID 原则设计的,包括事务,而共享系统使用具有中间件业务逻辑和多播组的一致性模型。)
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。