Java通用事务管理
作者:互联网
我正在开发一个将服务器存储在Amazon S3上的Java服务器.我需要使用S3进行事务管理,以便如果对外部服务器的操作失败,则必须回滚保存到S3的每个文件.
基本上就像对数据库的事务管理一样,只是在这种情况下,数据源是AWS S3,它也可能是文件系统.
我无法找到现有技术,并且想知道我是否只需要实现它,或者是否已经存在用于此目的的库/技术.
提前谢谢.
解决方法:
没有任何开箱即用的方式来实现交易管理.因此您可以自行编写逻辑和实现代码.
您相对于S3的一个优点是,您永远不会得到脏读或脏写.即使当前正在写入文件,S3也会始终为您提供经过完全处理的文件(blob).这种减轻了执行关键部分,锁定等工作的负担.AWS直接支持.
所以我建议交易过程的实施方式是
>执行初始过程,并调用服务器/服务(如您所述)
>如果正常,则将数据推送到S3
>如果数据调用/处理失败,您将什么也不做
另一种选择是将数据推送到S3,如果在发生回滚事务需求时可以删除S3密钥
这听起来可能很微妙,但事实并非如此,问题范围很广.
标签:amazon-web-services,amazon-s3,transactions,java 来源: https://codeday.me/bug/20191121/2052842.html