2013-07-11 27 views
0

目前我使用澤西1.0和有關切換到2.0。對於REST請求可能會持續超過一兩秒鐘我用下面的模式:新澤西州和AsyncResponse對重定向

  1. 客戶端調用get或put,直到它得到
  2. 服務器返回一個輪詢URL到客戶端
  3. 客戶端輪詢網址一個重定向到完成資源

漂亮的標準和簡單。但是,我注意到Jersey 2.0具有AsyncResponse功能。但看起來這是在線路上沒有改變的情況下完成的。換句話說,當服務器異步處理請求時,客戶端仍然阻塞結果。

那麼好麼?我是否應該使用它而不是當前的異步方法進行通話> 1秒?或者它只是爲了保持服務器上的連接釋放數百毫秒的呼叫?

我希望我的服務器儘可能的可擴展性,但我現在使用的方法可以爲客戶乏味。 AsyncResponse看起來超級簡單,但我不確定它是如何工作的,比如你希望連接時間非常短的heroku服務。

回答

0

AsyncResponse可能會爲Web應用程序服務器提供更多的可伸縮性,用於標準標準請求,但是我認爲它不會改變任何有關客戶端體驗的事情,這些客戶端體驗會在連接上繼續阻止讀取。因此,如果您已經從您的客戶端實施了輪詢解決方案,則這不會爲您的imho增加任何價值。

+0

對,所以我猜AsyncResponse恢復,暫停等將不能很好地與多個無國籍服務器上運行? IOW,你不能在一臺網頁上暫停並恢復另一臺網頁。 –

+0

我不這麼認爲作爲客戶端的請求和連接仍有待到同一個服務器端口。 – TheArchitect