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