私は現在、イベントソーシング、CQRS
はのは、私がイベントソーシングとCQRSを使用してアプリケーションを持っているとしましょう...問題で立ち往生し、あなたがここにいくつかのアイデアやベストプラクティスを私に役立つことを願っています。私は
- 数
- 数
- Iが定義設定、ポットがUIに表示されるべきそこから番号を含む赤ポットを含むグリーンポットを持っています。
自分のアプリケーションの現在の状態が
- レッドポットで表示される番号が含まれ、計算結果:20
- 設定10
- グリーンポット:レッド を
- 結果:10(赤ポットからの値)
私はRed Potサービス、Green PotサービスとSettingsサービスを購読するCalculationサービスを持っています。私はさらに、Calculationサービスを購読して、変更に応じて読み込みモデルを更新するView Updaterサービスを持っています。
- グリーンポット:
は今、次のイベントがで下落している25
- 設定:グリーンポット
ビューアップデータサービスは少し忙しい今日と更新で多少の遅延がありますビューモデル
計算サービスは、グリーンポットイベントを処理します。読み取りモデル(まだ赤に設定されている)から設定を取得し、何もしません。
その後、CalculationサービスはSettingsイベントを処理します。リード・リード・モデルからグリーン値(まだ20)を取り出し、新しいイベント(結果:20)を送信します。
その後、View Updaterは両方のイベントを処理して読み取りモデルを更新します。
この場合、私のアプリケーションは一貫していません。
このようなことを処理する方法はありますか?任意のアイデアありがとう:
あなたは 'GreenPotUpdated'、' RedPotUpdated'と 'SettingsChanged'のように、より明示的にするイベントの名前を変更する必要があります –