そのため、現在、EventStore の「パターン」とともに CQRS アーキテクチャを掘り下げています。
これにより、アプリケーションのスケーラビリティと柔軟性、およびテストの新しい次元が開かれます。
ただし、データ移行を適切に処理する方法にまだこだわっています。
具体的なユースケースは次のとおりです。
記事とコメントでブログを管理したいとしましょう。
書き込み側では MySQL を使用し、読み取り側では ElasticSearch を使用しています。コマンドを処理するたびに、書き込み側でデータを永続化し、イベントをディスパッチして読み取り側でデータを永続化します。
ArticleSummary
ここで、id とタイトルを含むある種の ViewModel を呼び出したとします。
に記事タグを含めるための新しい機能のリクエストがArticleSummary
あります。モデルに辞書を追加して、タグを含めます。
タグが書き込みレイヤーに既に存在していた場合、新しく含まれたデータを適切に使用するには、新しい「テーブル」を更新または使用する必要があります。
すべてのイベントを再生してすべての ViewModel を「更新」する EventLog Replay 戦略を知っていますが、真剣に、何十億行もある場合に実行可能ですか?
実績のある戦略はありますか?フィードバックはありますか?