Amazon SQS 延遲佇列 - Amazon Simple Queue Service

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon SQS 延遲佇列

延遲佇列可讓您將新訊息傳遞給消費者延後幾秒鐘,例如,當您的消費者應用程式需要額外時間來處理訊息時。若您建立延遲佇列,則在延遲期間,您傳送到佇列的任何訊息對消費者都保持不可見。佇列的預設 (最小) 延遲時間為 0 秒。最大值為 15 分鐘。如需有關使用主控台來設定延遲佇列的詳細資訊,請參閱 使用 Amazon SQS 主控台設定佇列參數

注意

若為標準佇列,個別佇列的延遲設定不會追溯—變更設定也不會影響到已經存在於佇列中的訊息延遲時間。

若為 FIFO 佇列,個別佇列的延遲設定會追溯 - 變更設定也會影響到已經存在於佇列中的訊息延遲時間。

延遲佇列訊息類似於可見性逾時,這兩種功能均能在指定期間內讓消費者無法看到訊息。延遲佇列和可見性逾時的差異在於,延遲佇列是在訊息首度新增至佇列時便隱藏起來,而可見性逾時是在佇列上的訊息被消耗時才會將訊息隱藏。下圖顯示了延遲佇列與可見性逾時之間的關係。

延遲佇列與可見性逾時之間關係的圖解。

若要設定個別訊息的延遲秒數,而不是針對整個佇列進行設定,請使用訊息計時器來允許 Amazon SQS 使用訊息佇列計時器的 DelaySeconds 值,而不是延遲佇列的 DelaySeconds 值。