0
我們有一個要求,我們需要從SQS開始到結束一次處理1條消息(不是嚴格的順序)。無論如何,我們可以在SQS中將maxConcurrentConsumer設置爲1?AWS-SQS:如何設置maxConcurrentConsumers?
我正在查看文檔,但找不到此屬性進行設置。在亞馬遜控制檯上,我沒有在配置隊列菜單中看到該屬性。在消息檢索時,我們可以指定我們想要在單個輪詢中讀取多少條消息,但由於AWS自動縮放功能可以創建多個使用者(實際上是Springboot微服務),因此我們無法通過將此限制設置爲1來依靠它。
PS :我們無法控制消息發送者,它可以將許多消息發送到SQS。
我知道這不是最好的設計方式,因爲我們嚴重限制了應用程序的擴展能力。事實是,我們被鎖定在這些消息的消費者的產品中,並且它無法處理多個線程。它在重負荷下正處於競賽狀態。短期內,我們需要以某種方式限制SQS消費者的實例數量,直到產品修復。我認爲這裏唯一的選擇是在應用程序屬性文件中手動評論SQS。謝謝! – SanA
您是否嘗試過使用任何SQS隊列的設置,特別是可見性超時?它可能沒有根據究竟是什麼導致競爭條件產生任何影響,但可見性超時控制消息對其他消費者不可見的時間。因此,如果您設置較大的可見性超時時間,則可能有助於防止多位消費者同時收到相同的消息。再次,它可能沒有什麼區別,但想提及它。 – jbird