簡體   English   中英

CQRS/EventStore 冪等性?

[英]CQRS/EventStore Idempotency?

使用 Jolivers EventStore 在 c# 中實現/處理冪等性。 這是否意味着在處理之前只需要檢查域/讀取模型旁邊的聚合 ID 和版本? 或者還有比這更多的東西嗎?

[編輯]

我問的原因是,例如,我想以小功能塊開發我的應用程序。

所以 - 想象一下,我有一個包含在線商店產品數據的某種類型的數據集。 我想通過創建搜索產品的功能來開始開發應用程序。 這意味着以某種方式導入數據集(不管如何)。 數據集中的每個產品最終都會觸發(例如)一個 CreateProductCommand - 該命令通過觸發 ProductAddedEvent 的域,然后由非規范化器處理以填充 ProductSearchView

現在 - 在實現搜索功能后,我想創建產品詳細信息視圖。 我已經運行導入以將數據集導入系統,因此我想重新運行將觸發非規范化程序以填充 ProductDetailView 的事件

那有意義嗎?

您可以做的是清理讀取模型數據存儲並使用與首次發布時相同的機制運行事件存儲中的所有事件。

我正在使用一個單獨的東西來做這件事,作為我部署過程中的一個步驟。

使用 Event Store 的一個實例,我從時間開始獲取所有事件:

var commits = eventStore.Advanced.GetFrom(DateTime.MinValue).ToList();

然后我遍歷列表並將事件分派到讀取模型,使用的代碼與通常分派事​​件時使用的代碼相同。

基本上就是這樣。

你應該做的是創造一些讓這對你來說變得簡單的東西,因為你將不得不做很多事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM