全部產品
Search
文件中心

Simple Message Queue (formerly MNS):短輪詢和長輪詢

更新時間:Sep 03, 2024

輕量訊息佇列(原 MNS)提供短輪詢(Short Polling)和長輪詢(Long Polling)兩種方式來擷取隊列中的訊息。

短輪詢

  • 建立隊列時,長輪詢時間設定為0,且發起popMessage請求時waitSeconds設定為0。

  • 使用短輪詢擷取隊列中的訊息,popMessage請求會向Message Service叢集中的一個服務節點發送請求,並立即返回請求相應的訊息,即使該服務節點沒有訊息,SMQ也會立即返迴響應。

長輪詢

  • 建立隊列時,長輪詢時間設定大於0,或發起popMessage請求時waitSeconds設定大於0。長輪詢最大值為30秒。第一優先順序是popMessage的waitSeconds變數,第二優先順序是queue配置的長輪詢時間。

  • 使用長輪詢擷取隊列中的訊息,popMessage請求會一直在服務端運行,直到有訊息的時候才返回。既可以保證立即收到訊息,又避免您發送大量無效請求,減少請求次數,降低費用。

注意事項

如果popMessage請求返回無訊息結果次數過多,可適當增加長輪詢時間,減少請求次數以降低費用。