レギュラーセッション

サーガパターンのメカニズムでコマンドとリードを段階的に疎結合化する

yumiKudo_Panda7 くどう

コマンドモデルとリードモデルは、段階的に分離していくのが、アーキテクチャの可逆性を担保させる意味でも重要です。

①最初は、論理的には分離されているものの、物理的には1つのDB上でアトミック性を担保する。
②そこから、それぞれに異なるデータ品質要求が来ると、物理的に異なるDBにするものの、通信は同期で連携。(結果整合かつ同期通信
③そこからさらに疎結合化が進むと、両者のモデルは通信も非同期で、完全に独立した状態になります。

この段階的に進めていくためには、アーキテクチャを【※段階的に可逆性を担保させながら】進化させるサーガのメカニズムを抑えておく必要があります。
(そこでアンチパターンの紹介も盛り込み予定)

このメカニズムを用いながら、より安全にコマンドとリードを分離していく工程をご紹介します。