CQRS
https://scrapbox.io/files/64420c92279d53001c14c30c.png
CRUDの統一的なモデルでは複雑になってしまう場合があります。そのときは、更新系と参照系のメソッドを分けるだけでなく、モデル自体もWriteモデルとReadモデルを分離して整理する方法があります。大量の参照のリクエストを捌ける仕組みにしたいの理由で、参照系のコンポーネントを分離する場合こともあるでしょう。
CQSはオブジェクト単位でメソッドの責務を更新と取得に応じて明確に分離すること
CQRSはそれをアーキテクチャレベルに適用したもの。ただ、データソースの分離を行うか〜など分離レベルに関する定義は様々存在した
https://scrapbox.io/files/64420a0a8b89ba001cc2966d.png
- Reactive System
- Unidirectional Data Flow
- 状態とイベントの分離
だからActorモデルの技術基盤の成熟に期待している