JAX-RS REST API 请求之间的变量共享

JAX-RS REST API Variable Sharing Between Requests

我正在尝试为我的 REST API 确定最佳设计。我有许多顺序发生的步骤(数据操作管道),每个步骤都有单独的 REST 调用。

我一直在将生成的中间数据保存到服务器上的文件中,以保持 REST API 无状态。但是,我担心与文件 I/O 和序列化相关的成本,因为我写出 3-4 个文件然后再次读取它们,稍后在管道中读取。

另一种方法是在 Java 网络应用的 运行 期间将它们保存在内存中,但这似乎会使系统有状态。 pros/cons 这些选项是什么?

在任何地方保存中间结果使您的服务有状态。如何存储状态对可伸缩性有很大影响。一旦您的服务在多个实例上 运行 ,状态信息就必须在它们之间共享。如果您使用文件,那么您必须使用所有文件都可以访问的文件服务器。另一种选择是数据库。

也可以考虑将中间数据传递给客户端;客户端将在下一次调用时传回数据。