對CQRS架構的幾點疑問

spawnyy發表於2010-12-18
在看到CQRS架構之後覺得很有道理,但是有以下幾點疑問

1.CQRS架構圖中的在發生一個Command之後肯定會有一個Command Handle來做處理,並且Command這是滿足並針對自身的,但是後面又看到了Command Handle來呼叫Domain,並且Domain在呼叫Repository,疑問就出現在這裡了,為什麼Handle要去呼叫Domain,還有就是Repository是否要注入到Domain中,還是說可以使用Event來呼叫Repository.

2.看CQRS架構中出現了Snapeshot和Event Store,疑問是SnapeShot跟Event Store之間是否有關係存在,還有就是SnapeShot跟Event Store兩者區別在那裡.

3.Banq老師說到了EJB推崇貧血模式,在CQRS架構在叢集中是使用事件來做傳遞的,但是事件是有事件源的,事件在傳遞的過程中事件源不需要做傳遞麼.還是將事件源儲存在某個中心伺服器上面.

4.Banq老師說道ActiveRecord的致命缺陷是:當業務邏輯複雜到一定程度,它開始崩潰,業務邏輯很難維護,一致性保證很困難,更進一步說:實際上是關聯式資料庫掌管了業務狀態,關聯式資料庫成為單點風險和效能瓶頸,只能走資料庫sharding 等路線進行伸縮(本站有更多關於關聯式資料庫問題的文章),這裡業務邏輯複雜之後會很難維護本人不是很明白上述幾點問題,還請舉例說明.

對於以上幾點問題還請大家詳細說明,謝謝!

相關文章