对CQRS架构的几点疑问
在看到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 等路线进行伸缩(本站有更多关于关系数据库问题的文章),这里业务逻辑复杂之后会很难维护本人不是很明白上述几点问题,还请举例说明.
对于以上几点问题还请大家详细说明,谢谢!