輕量消息隊列(原 MNS)提供短輪詢(Short Polling)和長輪詢(Long Polling)兩種方式來獲取隊列中的消息。
短輪詢
創建隊列時,長輪詢時間設置為0,且發起popMessage請求時
waitSeconds
設置為0。使用短輪詢獲取隊列中的消息,popMessage請求會向消息服務集群中的一個服務節點發送請求,并立即返回請求相應的消息,即使該服務節點沒有消息,SMQ也會立即返回響應。
長輪詢
創建隊列時,長輪詢時間設置大于0,或發起popMessage請求時
waitSeconds
設置大于0。長輪詢最大值為30秒。第一優先級是popMessage的waitSeconds
變量,第二優先級是queue配置的長輪詢時間。使用長輪詢獲取隊列中的消息,popMessage請求會一直在服務端運行,直到有消息的時候才返回。既可以保證立即收到消息,又避免您發送大量無效請求,減少請求次數,降低費用。
注意事項
如果popMessage請求返回無消息結果次數過多,可適當增加長輪詢時間,減少請求次數以降低費用。
文檔內容是否對您有幫助?