若是一個業務隊列的消息交由一個消費者消費,處理的順序就會依賴入隊的順序。可是單消費者嚴重影響了系統的併發處理能力。PASS。併發
每一個消息被建立時,都被賦予一個全局的,遞增的,連續的序號ID,能夠經過這個順序ID做爲消息處理的順序。在消息處理以後會附加一些保障操做。異步
任務既然採用異步消息隊列,對於消息就不該該依賴其順序性,失敗的消息進行保存,失敗消息按照序號進行重試,重試屢次以後消息經過。分佈式
工做中主要採用這種方式。中間件
其實這個問題是一個確實須要解決的問題,方案固然有,可是可能須要涉及到中間件的二次開發,因爲更關注業務,因此暫時沒有特別深刻的解決方案。隊列