使用 Eventarc 建立事件導向架構總覽

您可以使用 Eventarc 和 Datastore 模式的 Firestore,建構事件驅動架構。Datastore 模式的 Firestore 提供 Eventarc 觸發程序,可根據資料庫中特定實體的變更產生事件。觸發條件可將事件傳送至支援的目的地

Eventarc 提供標準化解決方案,可管理已分離微服務之間的狀態變更流程 (稱為「事件」)。觸發之後,Eventarc 會將這些事件轉送至不同的目的地,同時為您管理傳送、安全防護、授權、觀測和錯誤處理工作。

應用實例

事件導向架構是一種系統設計模式,服務會對狀態變化 (稱為事件) 做出回應。您可以搭配 Firestore 的可擴充性使用這個模式,為應用程式新增更多功能。舉例來說,您可以新增下列功能:

  • 不同技術堆疊之間的互通性

    複製及轉換資料,然後再傳送至分析系統。

  • 平行處理

    平行處理的擴散作業。如果您有多個系統會根據實體變更運作,可以在每個消費者中使用以推送為基礎的串流,並將事件傳送給多個消費者。

  • 推送式事件串流

    設計以推播為基礎的訊息。用戶端可以接收通知,不必輪詢遠端服務。沒有輪詢延遲時間,您就能更妥善地執行即時資料處理和分析。

  • 狀態監控和快訊

    使用事件導向架構,在資料庫作業中新增自訂指標。監控並接收異動和更新的快訊。偵測異常狀況。

限制

請注意,Eventarc 的 Datastore 模式觸發條件有下列限制:

  • 我們不保證排序。快速變更可能會以非預期的順序觸發事件。
  • 系統至少會傳送一次事件。

    請確保事件處理常式為冪等,並避免在事件多次傳送時產生非預期結果或副作用。詳情請參閱建構等冪函式

  • 觸發條件會與單一資料庫建立關聯。您無法建立與多個資料庫相符的觸發程序。

  • 刪除資料庫時,系統不會自動刪除該資料庫的任何觸發程序。觸發條件會停止傳送事件,但會繼續存在,直到您刪除觸發條件為止。

Eventarc 和 Firestore (Datastore 模式) 位置

Eventarc 不支援 Firestore 事件觸發程序的多區域設定,但您仍可為多區域位置的 Firestore 資料庫建立觸發程序。Eventarc 會將 Firestore 多區域位置對應至下列 Eventarc 區域:

Firestore 多區域 Eventarc 區域
nam5 us-central1
eur3 europe-west4

Datastore 模式和 Native 模式事件互通性

Eventarc 支援 Datastore 模式和原生模式的事件觸發條件。這些事件觸發程序可與這兩種資料庫類型互通。 原生模式的 Firestore 資料庫可以接收 Datastore 事件,Datastore 模式的 Firestore 資料庫則可以接收原生模式事件。

事件互通性可讓您在不同類型的 Firestore 資料庫之間共用 Eventarc 程式碼。

事件轉換

如果您將原生模式事件觸發條件套用至 Datastore 模式資料庫,Eventarc 會進行下列轉換:

  • 實體的命名空間會儲存在事件的 PartitionId 屬性中。
  • 內嵌實體會轉換為「原生模式」map類型。

後續步驟