本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon SQS、Amazon SNS 或 Amazon EventBridge?
了解差異並挑選適合您的差異
|
用途
|
了解 Amazon SQS、Amazon SNS 和 EventBridge 之間的差異,並判斷哪個服務最適合您的需求。
|
|
上次更新
|
2024 年 7 月 31 日
|
|
涵蓋的服務
|
|
簡介
在 上建置應用程式時 AWS,您可能需要協助選擇正確的服務來處理簡訊、事件驅動架構和解耦元件。 為這些目的 AWS 提供三個關鍵服務:Amazon Simple Queue Service (Amazon SQS)、Amazon Simple Notification Service (Amazon SNS) 和 Amazon EventBridge (先前稱為 CloudWatch Events)。
-
Amazon SQS 是一種全受管訊息佇列服務,可解耦和擴展微型服務、分散式系統和無伺服器應用程式。
-
Amazon SNS 是一種高可用性、耐用且安全的 pub/sub 訊息服務,可讓解耦的應用程式使用發佈訂閱模型彼此通訊。
-
Amazon EventBridge 是一種無伺服器事件匯流排,可讓您使用來自各種來源的資料來連接應用程式,並將其路由至類似目標,以更輕鬆地建置事件驅動型架構 AWS Lambda。
雖然這三種服務都有助於解耦元件之間的通訊,但它們的基礎架構、使用案例和功能有所不同。
以下是這些服務之間主要差異的高階檢視,讓您開始使用。
| 類別 |
Amazon SQS |
Amazon SNS |
EventBridge |
| 通訊模型 |
提取型 (消費者從佇列輪詢訊息) |
以推送為基礎的 (訂閱者在發佈時收到訊息) |
推送型。事件驅動 (規則比對事件和路由到目標) |
| Persistence |
訊息會持續存在,直到使用完畢或過期為止 |
訊息不會保留;即時交付給訂閱者 |
事件不會保留;即時處理 |
| 交付保證 |
至少傳遞一次 |
HTTP/S At-least-once,Lambda 和 Amazon SQS 至少交付一次 |
至少傳遞一次 |
| 訊息排序 |
FIFO First-In-First-Out) 佇列可確保嚴格排序 |
Amazon SNS FIFO 主題保證順序 |
無訂購保證 |
| 訊息篩選 |
Amazon SQS 無法根據訊息決定消費者。使用 Amazon SNS 訊息篩選搭配 Amazon SQS 來達成。 |
根據訊息中繼資料和 FIFO 主題、訊息內容使用訂閱篩選條件政策進行訊息篩選 |
複雜的事件模式比對和內容型篩選 |
| 支援的訂閱者 |
提取型消費者 (例如 Amazon EC2 或 Lambda) |
HTTP/S 端點、電子郵件、SMS、行動推送、Lambda、Amazon SQS |
AWS 服務、Lambda、API 目的地、其他 AWS 帳戶中的事件匯流排 |
| 典型使用案例 |
解耦微服務、緩衝請求、非同步處理任務 |
廣發性通知、pub/sub 訊息、行動推播通知 |
事件驅動型架構、即時串流處理、跨帳戶事件共用 |
| 與其他 整合 AWS 服務 |
Lambda、CloudWatch AWS KMS、IAM |
Lambda、Amazon SQS、行動推播 AWS KMS、IAM |
Lambda、Step Functions、Amazon SQS、Amazon SNS、Kinesis、SageMaker AI、CloudWatch、IAM |
差異的詳細資訊
探索 Amazon SQS、Amazon SNS 和 EventBridge 在八個關鍵領域之間的差異。這些涵蓋通訊模型、持久性、訊息排序、篩選、整合、使用案例、可擴展性和定價。
- Communication model
-
Amazon SQS
Amazon SNS
Amazon EventBridge
- Persistence and delivery guarantees
-
Amazon SQS
Amazon SNS
Amazon EventBridge
- Message ordering
-
Amazon SQS 和 Amazon SNS
Amazon EventBridge
- Message filtering and routing
-
Amazon SQS
Amazon SNS
Amazon EventBridge
- Supported subscribers and integrations
-
Amazon SQS
Amazon SNS
Amazon EventBridge
- Typical use cases
-
Amazon SQS
Amazon SNS
Amazon EventBridge
- Scalability and performance
-
Amazon SQS
Amazon SNS
Amazon EventBridge
- Pricing
-
Amazon SQS
Amazon SNS
Amazon EventBridge
使用
- Amazon SQS
-
-
Amazon SQS 教學課程
演練使用 Amazon SQS 解耦簡單應用程式元件的實際範例。它示範如何建立佇列、傳送訊息至佇列,以及使用 AWS SDKs 從佇列處理訊息。
探索教學課程
-
協調佇列型微服務
了解如何設計和執行無伺服器工作流程,以協調以訊息佇列為基礎的微服務。
探索教學課程
-
傳送散發事件通知
了解如何使用 Amazon SQS 和 Amazon SNS 實作廣發訊息案例。
探索教學課程
- Amazon SNS
-
-
開始使用 Amazon SNS
設定和使用 Amazon SNS 的step-by-step演練。它涵蓋主題,例如建立主題、訂閱主題的端點、發佈訊息,以及設定存取許可。
探索指南
-
使用 Amazon SNS 和 Amazon SQS 篩選發佈至主題的訊息
了解如何使用 Amazon SNS 的訊息篩選功能
探索教學課程
-
Amazon SNS - 故障診斷
了解如何檢視組態資訊、監控程序,以及收集有關 Amazon SNS 的診斷資料。
探索課程
- EventBridge
-
-
Amazon EventBridge 使用者指南
此完整文件涵蓋的主題包括建立事件匯流排、定義事件規則、設定目標,以及與各種 整合 AWS 服務。
探索指南
-
Amazon EventBridge 教學課程
AWS 文件提供一系列教學課程,引導使用者了解使用 Amazon EventBridge 的不同使用案例和案例。這些教學課程涵蓋排程自動化任務、對 AWS 資源變更做出反應,以及與 整合等主題 AWS 服務。
探索教學課程
-
AWS 無伺服器研討會 - 事件驅動架構
使用 Amazon EventBridge 和其他無 AWS 伺服器服務建置事件驅動型架構。此研討會會引導參與者完成建立事件匯流排、定義事件規則,以及根據事件觸發動作的程序。
探索研討會
-
AWS 線上技術講座 - Amazon EventBridge 簡介
取得 Amazon EventBridge 簡介,說明關鍵概念、功能和使用案例。技術講座包含示範和實際範例,協助使用者了解如何在其應用程式中利用 EventBridge。
觀看影片
-
使用 Amazon EventBridge 建置事件驅動型應用程式
此部落格文章探討使用 Amazon EventBridge 建置事件驅動型應用程式的程序。它提供建立事件匯流排、定義事件模式和設定目標以處理事件step-by-step指南。
閱讀部落格文章
-
使用 Amazon EventBridge 管道在事件生產者和消費者之間建立Point-to-Point整合
探索 Amazon EventBridge Pipes,這是 EventBridge 的一項功能,透過提供一致且符合成本效益的方式在事件生產者和消費者之間建立point-to-point整合,讓您更輕鬆地建置事件驅動型應用程式,無需撰寫未區分的黏附程式碼。
閱讀部落格文章