2009-10-02 62 views
1

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

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

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

回答

1

我使用Spring Integration这种事情。您可以设置一个可配置的消息分离器,用于截取您的请求并发送许多很小的消息,还有一个消息聚合器,可以知道它何时收到所有响应,然后可以给您返回单个结果。

Spring也有一个名为Spring Batch的产品,它可能是一个有用的替代品,但对于大批量处理来说更是如此,它听起来并不像你所做的那样。

0

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

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