CQRS

读写分离,就是查询和更新分开
 1、CQ两端数据库共享,只是在上层代码上分离。 这样做的好处是可以让我们的代码读写分离,更容易维护,而且不存在CQ两端的数据一致性问题, 因为是共享一个数据库的。
 2、CQ两端不仅代码分离,数据库也分离,然后Q端数据由C端同步过来。 同步方式有两种:同步或异步,如果需要CQ两端的强一致性,则需要用同步;如果能接受CQ两端数据的最终一致性,则可以使用异步。 C端可以采用EventSourcing(简称ES)模式,所有C端的最新数据全部用DomainEvent表达即可。 而要查询显示用的数据,则从Q端的ReadDB(关系型数据库)查询即可。

  c#中可以通过 MedatiR实现IRequestHandler<TQuery, TResponse>接口,一个实现IRequest<TResponse>  ,然后根据读或者写的类型通过MedatiR  执行操作 

 

 

 

 

posted @ 2024-04-23 21:47  孤海飞雁  阅读(20)  评论(0)    收藏  举报