短輪詢和長輪詢的區別到底是什麼

首先來看這一段話

Kafka使用短輪詢方式,實時性取決於輪詢間隔時間
RocketMQ使用長輪詢,同Push方式實時性一致,消息的投遞延時通常在幾個毫秒。

看起來雲裏霧裏的,那麼長輪詢和短輪詢到底有什麼區別?

短輪詢

  1. 短輪詢是服務器收到請求不管是否有數據都直接響應請求
  2. 受到響應隔一段時間在發送同樣的請求查詢是否有數據;

缺點:

  • 實時性低

長輪詢

  1. 長輪詢是服務器收到請求後如果有數據, 立刻響應請求;
  2. 如果沒有數據就會 hold 一段時間,這段時間內如果有數據立刻響應請求;
  3. 如果時間到了還沒有數據, 則響應 http 請求;瀏覽器受到 http 響應後立在發送一個同樣http 請求查詢是否有數據;

缺點:

  • 瀏覽器端對統一服務器同時連接有最大限制, 最好同一用戶只存在一個長輪詢;
  • 服務器端沒有數據 hold 住連接時會造成浪費, 容易產生服務器瓶頸;
發佈了36 篇原創文章 · 獲贊 6 · 訪問量 7866
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章