跳至主要內容

訊息佇列的功能

概觀

使用可執行獨立功能的個別元件來建置應用程式,是改善可擴展性和可靠性的最佳實務。您可以使用訊息佇列,在應用程式元件之間傳送、存放和接收不限數量的訊息,不會遺失訊息,也不需要其他服務永久可用。

訊息佇列提供多種選項,可讓您指定訊息傳遞的方式,以及如何保護安全,如下所述。您也可以使用散發設計模式中的發佈/訂閱簡訊結合佇列。

什麼是訊息佇列?

入門

嘗試亞馬遜 SQS

只需三個簡單的命令,即可開始使用 Amazon Simple Queue Service (SQS)。

免費試用 Amazon SQS

免費等級詳細信息

AWS 免費方案包含 100 萬個 Amazon Simple Queue Service (SQS) 請求。

檢視 AWS 免費方案詳細資訊 »

功能

推送或提取傳遞

大多數郵件佇列都提供推送和提取選項來擷取郵件。提取表示持續查詢佇列是否有新訊息。推送意味著消息可用時會收到通知消費者(這也稱為 Pub/Sub 消息)。您還可以使用長時間輪詢,允許在完成之前等待指定的時長後提取,以便新訊息到達。

排程或延遲傳遞

許多訊息佇列支援設定訊息的特定交付時間。如果需要所有訊息都具有共同延遲,則可以設定一個延遲佇列。

至少傳遞一次

訊息佇列可以儲存訊息的多個複本,以實現冗餘和高可用性,並在通訊失敗或錯誤的情況下重新傳送訊息,以確保訊息至少被傳遞一次。

只傳遞一次

當重複項無法容忍時,F IFO (先進先出) 郵件佇列將通過自動過濾重複項來確保每個郵件都完全傳遞一次(僅一次)。

FIFO (先入先出) 佇列

在這些佇列中,首先會處理最舊 (或第一個) 項目 (有時稱為佇列的「頭」)。若要深入瞭解 Amazon SQS FIFO 佇列,請參閱開發人員指南。

您還可以閱讀我們的部落格:使用 Python 和 Amazon SQS FIFO 佇列來保留郵件順序、 Amazon SQS FIFO API 的運作方式,以及具有精確處理和重複刪除的 FIFO 佇列。

無法寄出信件佇列

無法寄出信件佇列是其他佇列可以向其傳送無法成功處理訊息的隊列。這樣就很容易將其放在一旁進一步檢查,而不會阻止佇列處理,或將 CPU 週期花費在可能永遠無法成功取用的訊息上。

若要進一步了解有關死信佇列,請參閱我們的部落格「使用 Amazon SQS 死信佇列來控制郵件失敗」。若要瞭解如何在 Amazon SQS 中使用逾期佇列,請參閱我們的開發人員指南。

訂購

大多數郵件佇列都提供最佳順序,確保郵件通常按照傳送的順序相同,並且郵件至少傳送一次。

毒丸訊息

毒丸訊息是可以接收但無法處理的特殊訊息。這是一種用於通知取用者結束其工作的機制,因此不再等待新的輸入,並且類似於在用戶端/伺服器模型中關閉通訊端。

安全性

訊息佇列會驗證嘗試存取佇列的應用程式,並允許您使用加密來加密網路以及佇列本身的郵件。若要進一步了解 AWS 上的佇列安全性,請參閱我們的部落格「Amazon 簡單佇列服務 (SQS) 伺服器端加密」。您也可以在我們的開發人員指南中了解有關 Amazon SQS 的安全功能的更多信息。

Amazon Simple Queue Service (SQS)

只需三個簡單的命令即可免費開始使用。
免費試用

找到今天所需的資訊了嗎?

讓我們知道,以便我們改善頁面內容的品質