CQRS和主从架构有什么区别?

3
根据我的理解,CQRS就像将读操作与写操作分开。但是,我们也可以使用主从架构来实现相同的效果。假设主节点用于写操作,从节点用于读操作。
因此,我想了解何时应该使用CQRS和主从架构?
2个回答

2
我想了解什么时候应该使用CQRS和主从架构?
一个好的起点是Greg Young 2010
CQRS只是在之前只有一个对象的情况下创建两个对象。
当大多数人谈论CQRS时,他们实际上是在将CQRS模式应用于表示应用程序服务边界的对象。
然而,这种分离使我们能够在架构上做很多有趣的事情,最大的是它迫使打破一种心理障碍,即因为两者使用相同的数据,所以它们也应该使用相同的数据模型。
最后一个是我认为的一个关键区别;我们不是在谈论多个相同数据模型的副本,其中一些专门支持读取,而是在谈论将相同信息存储在两个不同数据模型中。
一个常见的例子是使用基于事件历史的数据模型进行写入,而通过从RDBMS生成结果集来提供读取。

2

主从架构通常处理数据的物理分离和复制,以实现更好的可用性和可靠性。虽然主和从的数据模型本身保持不变,我们可以将读写的责任分配给主和从,但它们仍然处理相同的基础数据模型和接口。

另一方面,CQRS设计模式更多地涉及解耦读取和写入数据模型以及接口本身,使它们可以分别演化,并避免过于复杂的模型。CQRS中的读取和写入操作甚至可能由两个具有非常不同架构的完全不同的数据存储支持。

CQRS:


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接