对于我的应用程序获得的每个请求,它都会为许多 API 发送大量 URL 获取请求,并且我希望并行发送和处理它们的响应。
它的计算量并不大,只是在等待外部 API 响应所需的时间。
什么是最好的为什么要使用 make paralleled 呢?线?任务队列?
甚至,我考虑过将 HTTP 从主 servlet 发送到我的应用程序中的其他 servlet。
对于我的应用程序获得的每个请求,它都会为许多 API 发送大量 URL 获取请求,并且我希望并行发送和处理它们的响应。
它的计算量并不大,只是在等待外部 API 响应所需的时间。
什么是最好的为什么要使用 make paralleled 呢?线?任务队列?
甚至,我考虑过将 HTTP 从主 servlet 发送到我的应用程序中的其他 servlet。
有几个选项
考虑使用异步 urlfetch,阅读这篇文章。 http://ikaisays.com/2010/06/29/using-asynchronous-urlfetch-on-java-app-engine/
如果你有大量的 URL(你还没有量化你有多少)考虑使用任务队列,你有 10 分钟的请求时间。
交替使用要处理的拉取队列提交 URL 和处理请求的后端,然后您可以在后端实例中使用线程。
正如 Tim 所说,asych urlfetch 是最简单也是最好的选择。
如果您担心对 GAE 的请求完成所需的时间,您可以在任务队列中启动延迟任务并立即从请求中返回,并在任务队列任务中留出 10 分钟。