AWS學習筆記:Amazon SQS

Amazon SQS 短輪詢和長輪詢

默認是短輪詢(Short Polling)。像http一樣,客戶端請求,服務器端馬上返回。
但是SQS服務器有多個,消息分佈在各個服務器上。請求的時候,並不是查看所有服務器來確實是否有消息,而只是查看一部分服務器(採樣),如果剛好消息不在所有查看的服務器上,會返回空響應(即使消息實際存在,實在存在於查看的服務器意外的服務器上)。

即使是空響應,也是收費的,AWS按查詢次數收費。這樣子很虧啊。

爲了避免空響應和查詢太頻繁,可以通過長輪詢(Long Polling)來減少空響應。
一方面長輪詢會遍歷所有服務器來避免消息遺漏,另一方面,如果查詢時消息隊列爲空的話,會一直等到有消息或者timeout爲止。
設定方法:
只要設定API(ReceiveMessage)操作的等待時間大於 0 時,長輪詢就會自動起作用的了。長輪詢最長等待時間爲 20 秒。

 

參考
Amazon SQS 短輪詢和長輪詢https://docs.aws.amazon.com/zh_cn/AWSSimpleQueueService/latest/SQSDeveloperGuide/sqs-short-and-long-polling.html#sqs-long-polling

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章