读写分离,就是查询和更新分开 1、CQ两端数据库共享,只是在上层代码上分离。 这样做的好处是可以让我们的代码读写分离,更容易维护,而且不存在CQ两端的数据一致性问题, 因为是共享一个数据库的。 2、CQ两端不仅代码分离,数据库也分离,然后Q端数据由C端同步过来。 同步方式有两种:同步或异步,如果需要CQ两端的强一致性,则需要用同步;如果能接受CQ两端数据的最终一致性,则可以使用异步。 C端可以采用EventSourcing(简称ES)模式,所有C端的最新数据全部用DomainEvent表达即可。 而要查询显示用的数据,则从Q端的ReadDB(关系型数据库)查询即可。
c#中可以通过 MedatiR实现IRequestHandler<TQuery, TResponse>接口,一个实现IRequest<TResponse> ,然后根据读或者写的类型通过MedatiR 执行操作
标签:两端,同步,数据库,分离,一致性,CQRS,CQ From: https://www.cnblogs.com/liujian1368928/p/18153836