Skip to content

Write Path 和 Read Path 分离

写操作 latency 比读高很多

读和写的需求完全不同,所以需要分离

写的特点:强一致、顺序、不可重复

写通常要求 ACID

读是展示驱动,要求:高并发、可以延迟、可以不一致

读通常允许:最终一致性

CQRS

命令查询职责分离(Command Query Responsibility Segregation,简称 CQRS)是一种软件架构模式,用于将系统的“写入”(命令)与“读取”(查询)操作逻辑明确分离。

系统设计

数据从哪里来
谁写
谁读
什么时候读
是否允许延迟

数据库其实不应该承载复杂读

数据库只负责简单读、写

复杂的读应该交给

  • Elasticsearch
  • ClickHouse
  • Redis

tdo