您可以使用 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
類型。
後續步驟
- 瞭解事件導向架構。