2014-01-30 52 views

回答

2

亞馬遜SQS剛剛獲得FIFO Queues with Exactly-Once Processing & Deduplication

今天,我們正在SQS更加強大,並支持 的FIFO(先入先出)隊列靈活。 我們在這兩個地區現在推出這個新 類型的隊列,並計劃使其在 許多人提供早期2017年

這些隊列的目的是保證信息的處理 恰好一次,按順序發送,並且沒有重複項目。 [...]

[重點煤礦]

所強調的那樣,這些新的FIFO隊列SQS將提供任何特殊注意事項消耗真FIFO不必要亞馬遜SQS的消息,但不但在所有SQS regions [最初只在美國東部(俄亥俄州)和美國西部(俄勒岡州)]]都可用。

1

總之,沒有:

問:亞馬遜SQS提供先入先出(FIFO)訪問消息?

不,Amazon SQS不保證對Amazon SQS隊列中消息的FIFO訪問,這主要是因爲Amazon SQS的分佈式特性。如果你需要特定的消息排序,你應該設計你的應用程序來處理它。

http://aws.amazon.com/sqs/faqs/

+0

遲到的道歉。我正在尋找一些可用於實現此目的的常用模式。 – Arvind

+1

@Arvind,你可以通過添加一個排序令牌手動爲你的消息添加排序,然後自己排序,但是這在分佈式系統中充滿了問題。 – tster

1

需要以特定順序到達的郵件可能不適合標準SQS隊列。但是,您可以在發送消息時設置消息順序計數器。在接收端,如果序列正確,您可以繼續處理消息。如果出現序列消息不正確的情況,請等待正確的消息到來,然後處理正確的序列消息和其他消息。

enter image description here

在2016年11月17日FIFO隊列已經在補充了標準隊列某些區域(US East (Ohio)US West (Oregon))被引入。消息的發送和接收順序被嚴格保留,並且一次消息被傳送並保持可用,直到消費者處理並刪除消息;不會將重複項引入隊列中。 FIFO隊列使用與標準隊列相同的API操作,並且接收和刪除消息以及更改可見性超時的機制都相同。但是,發送消息時,您必須指定一個消息組ID。在這裏輸入圖片說明

enter image description here