1

我使用一个使用服务返回信息的大型 Java Web 应用程序。我的主要目标是尽快检索 100 多个单独的结果。我们注意到,发送 100 多个信息请求并不能为我们提供最佳的数据回复性能。我们的解决方案是将 100 多个请求分成小批量(约 15,25 个),并在全部收到后组装它们。

我正在寻找 Java 中的建议,以从应用程序向服务发出 1 个或 50 个或 200 个请求,将信息返回给应用程序并在有更多请求时执行另一批。如果没有剩余请求,则组装到列表中并返回该完整列表。

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

4

2 回答 2

1

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

Spring 也有一个名为Spring Batch的产品,它可能是一个有用的替代品,但它更适用于繁重的批处理,听起来不像你在做的那样。

于 2009-10-02T22:06:57.073 回答
0

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

理论上,如果服务器端收到一个请求,客户端和服务器端都应该能够以更少的开销完成工作。客户端和服务器端都应该有节省。

于 2009-10-03T00:41:37.447 回答