2016-08-22 48 views
0

我們擔心爲域事件使用單個Mongo集合(domainevents)的性能。Axon框架 - 爲每個聚合根使用單獨的Mongo域事件集合

將domainevents集合拆分爲每個聚合根分離集合是一個好主意嗎?

我們有查詢模型,它是基於多個聚合根的事件生成的。如果我們將domainevents劃分爲多個集合,那麼Axon仍然會保留聚合根上的事件順序嗎?

這是否是一個好主意?

回答

1

這裏有幾個問題,需要不同的知識來回答。我不是MongoDB的專家,但是我知道我是Axon的創始人。

Axon中的MongoEventStore本身不支持域事件的多個集合。所以你的訂單保存查詢的答案是:它不會工作,除非你自己建立對它的支持。然後,訂單將根據您的建造方式進行保證。

你也可以考慮分割Mongo Collection。使用聚合標識符作爲分片鍵可以保證對聚合流的查詢命中單個分片。根據文檔,建議避免不包含此分片鍵的查詢。

處理此性能問題的最佳方法是執行性能測試。查看延遲和吞吐量隨集合大小的增長如何受到影響。添加正確的索引可能會有幫助。