我正试图确定REST的最佳设计。我有许多步骤依次发生(数据操作管道),每个步骤都有单独的REST调用。
我一直在将生成的中间数据保存到服务器上的文件中,以保持REST无状态。但是,我担心与文件I/O和序列化相关的成本,因为我将3-4文件写出来,然后再读一遍,稍后正在进行中。
另一种方法是在运行Java应用程序时将它们保存在内存中,但这似乎使系统具有状态。这些选择的利弊是什么?
发布于 2018-09-14 19:03:50
将中间结果保存在任何地方都可以使您的服务具有状态。如何存储状态对可伸缩性有很大影响。一旦您的服务在多个实例上运行,状态信息就必须在它们之间共享。如果使用文件,则必须使用所有文件都可访问的文件服务器。另一种选择是数据库。
您还可以考虑将中间数据传递给客户端;客户端将在下一次调用时将数据传回。
https://stackoverflow.com/questions/52337794
复制相似问题