Amazon EventBridge - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

Amazon EventBridge

Amazon EventBridge 是無伺服器事件匯流排服務,通常做為事件驅動型架構 (EDA) 的基礎。您也可以使用它在微服務之間以非同步方式路由和傳遞訊息。生產者使用 EventBridge 將事件發佈至匯流排。您可以根據事件的內容來設定符合事件的規則,並選擇一或多個符合該規則的事件要交付的目標。EventBridge 支援各種規則目標。使用事件匯流排可讓您將生產者與消費者分離,並合併您的路由和交付邏輯。

在 EventBridge 中,您也可以建立排程規則,以便在特定時間採取動作。您可以使用以 Cron 為基礎的表達式和以速率為基礎的表達式來定義事件。

EventBridge 管道可讓您將訊息從來源輸送到目標,而無需使用 等運算服務 AWS Lambda。例如,假設您有一個接收訊息的 SQS 佇列,這應該會觸發 AWS Step Functions 狀態機器。您可以使用 EventBridge 管道來為您執行此操作,而不是建立具有事件來源映射來取用佇列訊息的 Lambda 函數,以及使用 AWS SDK 撰寫程式碼來叫用狀態機器,而無需撰寫任何自訂程式碼。

EventBridge 通常與其他簡訊服務搭配使用,例如 Amazon SQS 和 Amazon SNS。例如,將事件交付至 SQS 佇列,可讓接收服務彈性地在能夠使用訊息時,以獨立於事件產生速率的速率來取用訊息。同樣地,您也可以將應該散發的事件傳遞給 SNS 主題的大量訂閱者。

指引

在下列情況下使用 EventBridge:

  • 您不需要服務之間的同步通訊。

  • 您想要將訊息路由邏輯與微服務分離。微型服務只會產生事件並將其發佈到事件匯流排,而感興趣的服務會建立規則來比對和交付這些事件。

  • 您需要將訊息從一個支援的服務傳遞到另一個服務。

在下列情況下,請考慮其他 服務:

  • 您需要嚴格排序事件。在這些情況下,請考慮 Amazon SQS FIFO 佇列或 Amazon SNS FIFO 主題。或者,請考慮事件串流服務,例如 Amazon Kinesis Data Streams 或 Amazon Managed Streaming for Apache Kafka (Amazon MSK)。