以较小批量向服务发送大型请求(Java)

时间:2009-10-02 21:57:00

标签: java batch-processing

我使用大型Java Web应用程序,该应用程序使用服务返回信息。我的主要目标是尽快检索100多个单独的结果。我们已经注意到,发送100多条信息请求并不能让我们在数据回复方面获得最佳性能。我们的解决方案是将100多个请求分成小批量(~15,25),并在收到所有请求后再组装。

我正在寻找Java中的建议,从应用程序,服务发出1或50或200个请求,获取应用程序的信息,如果有更多请求,则执行另一个批处理。如果没有请求,请汇总到列表中并返回完整列表。

欢迎任何形式的建议,谢谢。

2 个答案:

答案 0 :(得分:1)

我使用Spring Integration来做这件事。您可以设置一个可配置的消息拆分器来切换您的请求并发送许多小的请求,以及一个消息聚合器,它知道何时收到所有响应,然后可以返回一个结果。

Spring还有一个名为Spring Batch的产品可能是一个有用的替代产品,但对于繁重的批处理来说,这更像是你听起来不像。

答案 1 :(得分:0)

如果可能/可行,扩展/ service以支持在单个协议请求中处理多个逻辑请求;例如HTTP请求。

理论上,如果服务器端获得单个请求,则客户端和服务器端都应该能够以较少的开销完成工作。客户端和服务器端都应该节省成本。