细节:
-
命令API处理为CQRS模式并将
Read Model
持久保存到Elasticsearch . -
Observer-side通过Web API注册过滤条件 .
-
如果满足过滤条件,则通过SignalR API将
Read Model
推送到观察者侧 .
关注:
-
过滤条件必须使用Elasticsearch Query DSL,而不是应用程序端逻辑,因为它们是灵活且复杂的 .
-
所以,在我的想法中,设置wait_for选项以等待索引 . 然后,查询Elasticsearch以检索匹配的
Read Model
. 但是,它可能不具有可扩展性,也不是良好的模式 .
还有另外一种设计吗?或者,CQRS设计的错误点?