在現代的雲端架構中,應用程式會分離成許多較小的獨立建置區塊,它們較易於開發、部署和維護。訊息佇列能夠溝通和協調這些分散式應用程式。

訊息佇列可以大幅簡化解耦應用程式的編碼,同時改善效能、可靠性和可擴展性。您也可以使用散發設計模式中的發佈/訂閱簡訊結合訊息佇列。 

什麼是訊息佇列?

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

免費試用 Amazon SQS

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

查看 AWS 免費方案詳細資訊 »


訊息佇列可啟用非同步通訊,這表示生產和取用訊息的端點是與佇列 (而非彼此) 互動。生產者可以將請求新增至佇列,而無需等待它們被處理。消費者僅在訊息可用時才處理訊息。系統中的任何元件都不會因等待另一個優化資料流而停滯不前。


佇列可讓您的資料持久,並減少系統不同部分離線時發生的錯誤。使用訊息佇列分開不同的元件可提升容錯能力。如果系統的一部分無法存取,另一部分仍然可以繼續與佇列互動。佇列本身也可以鏡像,以取得更高的可用性。


訊息佇列可讓您根據需要精確擴展。當工作負載達到尖峰時,應用程式的多個執行個體都可以將請求新增至佇列中,而不會產生衝突風險。隨著這些傳入請求的佇列變得越來越長,您可以將工作負載分配給一組消費者。生產者、消費者和佇列本身都可以隨需成長和縮小。生產商,消費者和隊列本身都可以根據需求增長和縮減。


訊息佇列移除元件之間的相依性,大幅地簡化解耦應用程式的編碼。軟體元件不會因為通訊程式碼而變得笨重,反而可以設計為執行獨立的商業功能。

無論您使用整合型應用程式、微型服務或無伺服器架構,訊息佇列都是解耦分散式系統的細緻簡單方式。

使用訊息佇列可解耦整合型應用程式。多個程式可以透過在程序之間傳送訊息來交換資訊,而不是在單一可執行檔內執行多個功能,從而更輕鬆地測試、偵錯、發展和擴展。

基於事件和非同步簡訊的微型服務整合模式優化了可擴展性和恢復能力。使用訊息佇列服務來協調多個微型服務、通知微型服務進行資料變更,或做為事件傳輸管道來處理 IoT、社交和即時資料。

一旦建置了沒有伺服器的微型服務、部署到伺服器或安裝了任何類型的軟體,您就可以使用訊息佇列來提供可靠、可擴展的無伺服器通知、程序間通訊以及無伺服器功能和 PaaS 的可見性。

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