Jersey和AsyncResponse vs. Redirects

时间:2013-07-11 17:51:58

标签: heroku asynchronous jersey jax-rs

目前我正在使用Jersey 1.0并即将切换到2.0。对于REST请求,可能持续一两秒钟,我使用以下模式:

  1. 客户来电GET或PUT
  2. 服务器返回到客户端的轮询URL
  3. 客户端轮询URL,直到它重定向到已完成的资源
  4. 非常标准和直截了当。但是,我注意到Jersey 2.0具有AsyncResponse功能。但看起来这样做是在线上没有变化的情况下完成的。换句话说,当服务器异步处理请求时,客户端仍会阻止结果。

    这有什么用呢?我是否应该使用它而不是我当前的异步方法来调用> 1秒?或者只是为了在几百毫秒的时间内保持服务器上的连接释放?

    我希望我的服务器尽可能地具有可扩展性,但我现在使用的方法对于客户来说可能很乏味。 AsyncResponse看起来非常简单,但我不确定它如何适用于你想要非常短的连接时间的heroku服务。

1 个答案:

答案 0 :(得分:0)

AsyncResponse可能会在Web应用服务器中为线程池资源方面的标准标准请求提供更多可伸缩性,但我认为它不会改变任何有关客户端体验的信息,这将继续阻止对其连接的读取。因此,如果您已经从客户端实施了一个轮询解决方案,那么这对您来说不会增加任何价值。