2016-03-23 4 views
0

私は最近CQRSパターンを実験しています。多くのドキュメントで、人々はアプリケーションからコマンドをキューを使用してコマンドハンドラに外部に送信するようです。CQRSアプリケーションのコマンドのデータフォーマット/スキーマ

私が興味を持っていることは、人々がどのような形式でコマンドを送信するのですか?私はJSONが良い表現形式であることがわかりますが、どのように入力コマンドのバージョン管理を管理していますか?

コマンドキューから読み込み、コマンドのパラメータをデシリアライズしてからCommandHandlerの実装で実行する必要があるとします。

答えて

1

良い質問です。バージョニングを考えるときに考えるべきことがいくつかあります。しかし、あなただけの引退または完全に異なる形する必要があるかもしれないフィールドに

を削除しないフィールド

  • の名前を変更することはありません

    1. :私は一連の原則に従うのが好き。私はポストフィックスを使いたいと思う。例えば_V2

      重要なことは、コマンドの内容を単純なタイプにすることです。複雑な型が必要な場合は例外的な状況がありますが、これを回避しようとします。

      コマンドを変更することは、(コマンドを記録しない限り)長期的には問題の問題ではありません。

      場合によっては、イベントストリームを破棄することなくバージョン管理イベントに関するブログ投稿があります。あなたはそれを見つけることができます:here

      希望に役立ちます!

  • +0

    あなたの答えをありがとう!あなたがCQRSをやっているとき、あなたはコマンドを送るためにキューを使いますか? – Aidos

    関連する問題