gpt4 book ai didi

java - 将初始(批量)数据导入 RESTful 系统的最佳做法是什么?

转载 作者:可可西里 更新时间:2023-11-01 10:44:45 25 4
gpt4 key购买 nike

您认为初始填充作为 RESTful 分布式系统架构一部分的数据存储的干净高效的方法是什么?

我们已经有了用于批量导入的 POST 方法,它接受 XML 提要、解析、验证和导入数据。因此,一种可能性是要求客户端针对我们的 REST 接口(interface)进行 POST(如果我们遇到请求超时问题,可能是分块)。

数据存储本身是基于 MongoDB 的,所以另一方面你也可以考虑低级批量导入,它采用 gzip 数据文件,解压缩它并直接将 JSON 数据导入数据库(这当然会绕过我们的业务逻辑来验证要导入的数据)。

您有什么意见和建议,是否有任何 REST 模式可以针对此问题提供建议?

最佳答案

在不知道更多细节的情况下,我认为您最终做到了。我会将数据分成 block ,然后运行一个程序来读取其中一个 block 并将此数据发布到您的 http 接口(interface)。

执行导入的脚本/程序应该只处理足够小的 block 以避免超时,并且应该知道它是否成功。如果某 block 确实超时或失败,您应该确保您知道您在导入中的位置,以便您可以从同一个地方重试。

话虽如此,如果您的系统允许多次导入相同的内容而不会产生任何后果,这也很好(请参阅 http://en.wikipedia.org/wiki/Idempotence ),因此如果您必须完全重新发送 1 个片段,您的 restful 后端将能够在不重复数据的情况下接受它。

如果您让它运行良好,您甚至可以同时运行包含多个 block 的导入程序,以使其并行且更快。 (只要你的 http/restful 后端可以处理它)

关于java - 将初始(批量)数据导入 RESTful 系统的最佳做法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8895505/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com