【问题标题】:Java Spring Server Side REST Streaming for Large Data用于大数据的 Java Spring 服务器端 REST 流
【发布时间】:2018-06-20 21:45:28
【问题描述】:

我目前有一个程序,它通过 REST (Spring) 接收来自用户的查询,并在数据库中运行它并通过 REST 返回结果。我遇到的问题是,如果用户查询大量数据,在某个时候服务器会遇到内存不足错误。

有没有办法使用 REST Spring 流式传输结果以避免内存不足错误?我一直在研究,似乎 HTTP 块编码可能是一种选择。

【问题讨论】:

标签: java spring rest streaming chunked-encoding


【解决方案1】:

也许 SSE (https://en.wikipedia.org/wiki/Server-sent_events) 可以帮助您。 SSE 是一种网络技术,浏览器通过 HTTP 连接从服务器接收更新。 示例:

【讨论】:

    【解决方案2】:

    我建议查看新的 Spring 存储库 streamAll 功能。我发现下面链接的文章非常有帮助(虽然很旧)。

    我自己正在使用这种方法来传输相当大的数据集,并且我没有内存问题。秘诀是限制获取大小,如下文所述。

    https://knes1.github.io/blog/2015/2015-10-19-streaming-mysql-results-using-java8-streams-and-spring-data.html

    【讨论】:

      猜你喜欢
      • 2013-10-30
      • 2014-07-10
      • 1970-01-01
      • 2012-06-01
      • 2017-09-12
      • 2019-08-04
      • 2017-11-27
      • 2015-03-16
      • 2012-08-08
      相关资源
      最近更新 更多