首页 文章

CQRS为什么不只是对读写进行弹性搜索?

提问于
浏览
0

我正在考虑为我的项目提供CQRS架构 . 这意味着具有读取和写入数据库以及更新过程以使两个数据库保持同步 .

因为我要在每个命令之后更新read(elasticsearch)数据库,我想知道:有一个写数据库的用途是什么?

1 回答

  • 2

    分离的目的是分配多个数据库的负载 . 使用一个写优化数据库进行写操作,并将读优化数据库更新为异步 . 所以这样,写入加载不会影响读取数据库 . 我们可以独立扩展它们 .

    另一个原因是读取和写入模式可能不同 . 您可以拥有一个博客站点,列出主页上的最新博客,您需要编写所有数据来编写数据库,但您只需要一些数据来列出或索引它 . 因此,在基础架构级别上使用CQRS为我们提供了数据库的独立可伸缩性 .

相关问题