訊息佇列是在無伺服器和微型服務架構中使用的一種非同步服務對服務通訊形式。訊息會存放在佇列中,直到訊息完成處理並予以刪除。每個訊息僅由單一取用者處理一次。訊息佇列可用於分離繁重的處理,以便緩衝或批次處理工作,以及緩解尖峰工作負載。
以下是多種資源,可協助您更好地理解廣義的訊息佇列。若要了解 AWS 上的訊息佇列,請造訪我們的 Amazon Simple Queue Service (SQS) 網站。
在現代的雲端架構中,應用程式會解耦成許多較小的獨立建置區塊,它們較易於開發、部署和維護。訊息佇列能夠溝通和協調這些分散式應用程式。訊息佇列可以大幅簡化解耦應用程式的編碼,同時改善效能、可靠性和可擴展性。
訊息佇列可讓系統的不同部分以非同步方式進行通訊和處理操作。訊息佇列提供了一個暫時儲存訊息的輕量級緩衝區,以及允許軟體元件連接至佇列以傳送和接收訊息的端點。訊息通常很小,可以是請求、回覆、錯誤訊息或只是純資訊。為傳送訊息,稱為生產者的元件會將訊息新增至佇列。訊息將儲存在佇列中,直到另一個稱為取用者的元件擷取訊息並對其執行某些操作。
許多生產者和取用者都可以使用佇列,但每則訊息只會由單一取用者處理一次。因此,此簡訊模式通常稱為一對一或點對點通訊。當訊息需要由一位以上取用者處理時,可使用散發設計模式中的發佈/訂閱簡訊結合訊息佇列。請參閱「什麼是發佈/訂閱簡訊?」以取得詳細資訊;造訪我們的 Amazon Simple Notification Service (SNS) 網站以了解 AWS 上的發佈/訂閱簡訊概觀。