問題タブ [axon]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1483 参照

java - CQRS は、Google App Engine でソーシャル アプリケーションを実装するための優れたアプローチですか?

CQRS (Command and Query Responsibility Segregation) アプローチは、堅牢で応答性の高いソーシャル アプリケーション サーバーを GAE に実装するのに適しているように思えます。その理由は次のとおりです。

  1. CQRS は SQL データベースを必要としません (GAE は提供しません)。
  2. シリアル化されたオブジェクトを保持できるデータベースが必要ですが、GAE が実際に提供しています。
  3. GAEも提供するイベントキューが必要です
  4. ノンブロッキング、非同期、メッセージベースのアーキテクチャをサポートしており、長時間実行されるトランザクションに対する GAE の制限をうまく回避します。
  5. スケーラビリティが高いと宣伝されているため、楽観主義者が GAE を選択するのはこれが理由です。

問題は、私はこの選択に関連する経験がほとんどない錆びた Java プログラマーであり、2 つを一緒に使用したことのある人、または少なくとも一方を使用した経験から他方を使用して調査したことのある人からのコメントを非常に歓迎することです。

私の主な質問は次のとおりだと思います。

  1. 新しいアプリケーションの初期段階で CQRS は複雑すぎますか?
  2. GAE のデータストアが CQRS の要件にうまく適合しないなど、適合性が低くなるブービー トラップはありますか?
  3. AxonまたはJdonのいずれかが GAE に特に適している (または適していない) と推奨できる人はいますか?
  4. 他にどのような質問をする必要がありますか?
0 投票する
6 に答える
23757 参照

java - Axonフレームワークの実際の経験

プロジェクトで使用するためのCQRSの調査の一環として、Axon Frameworkに出くわしましたが、実際にCQRSを使用した経験がある人はいないかと思いました。明確にするために、アーキテクチャパターンとしてのCQRSではなく、フレームワークについて質問しています。

私のプロジェクトでは、Axon自身の要件にうまく適合するSpringとSpring Integrationをすでに使用していますが、それに多くの時間を割く前に、誰かが直接の経験を持っているかどうかを知りたいと思います。特に、ドキュメントからすぐには明らかにならない可能性のある落とし穴に興味があります。

0 投票する
3 に答える
14709 参照

java - CQRSとEventSourcingのフレームワークの提案

Axon Framework以外にCQRSおよびイベントソーシング用のJavaフレームワークはありますか?私は特に探しています

  1. Javaベースのフレームワーク。
  2. イベントソーシングをサポートする必要があります。
0 投票する
1 に答える
1777 参照

unit-testing - axon-framework を使用してドメイン モデルを単体テストする方法

最近CQRSを勉強しているので、axon-framework(Java CRQSフレームワーク)でサンプルプロジェクトを始めました。

クイックスタートによると、以下のようになりました。

テスト コードにより、ドメイン モデルと axon-framework との統合コードを書くことができましたが、イベントによってどのような副作用が発生したかはカバーされていません。どこでテストしましたか? たとえば、有効にすると、与信入力のステータスは有効になります。他のテスト メソッドで CreditEntry インスタンスを作成し、特定の on(...Event event) メソッドを呼び出してテストする必要がありますか?

もう 1 つの質問は、ビジネス検証ロジックをどこに置くべきかということです。コマンドハンドラメソッドで?CreditEntry が既に有効になっている場合、再度有効にできない場合を想定します。

どんなアイデアでも大歓迎です、ありがとう。

0 投票する
3 に答える
300 参照

domain-driven-design - コマンドを使用して CQRS でドメイン派生を実装する必要がありますか

航空予約アプリケーションで CQRS を使用しています。ユースケースの 1 つは、顧客がチケットをキャンセルするのを支援することです。しかし、実際のキャンセルの前に、顧客は違約金を知りたがっています。

ペナルティは、航空規則に基づいて計算されます。私たちのプロバイダーの中には、Web サービスを公開することでペナルティを計算できるものもあれば、そうでないものもあります。(代わりに、アルゴリズムを説明する論文を公開しています)。だから私はドメインサービスを定義します

私の質問は、このドメイン サービスを呼び出し、CQRS スタイルのアプリケーションで結果を返すのはどちらの側 (コマンド/クエリ) ですか?

コマンド: CalculatePenlatyCommand を使用したいのですが、このようにドメイン モデルを再利用するのは簡単ですが、このコマンドは状態を変更しないため、少し奇妙です。

または、これがクエリの場合、チケットの readmodel を取得する必要がありますか? しかし、コマンド側とクエリ側の両方で同じ DomainService が必要です。これも奇妙です。

ドメイン派生はクエリですか?

0 投票する
1 に答える
1523 参照

saga - AssociationProperty に一致するイベントが Axon Saga に確実に通知されるようにするにはどうすればよいですか?

Axon で開発しているプロジェクトがありますが、Saga が適切に実行されません。

My Saga には、次のような行が含まれています。

First イベントは開始サガをトリガーし、initialiseWorkflow タスクもトリガーします (追加のステップのセットを正しく作成します)。ただし、SecondEvent が到着すると (FirstEvent と同じ UUID associationProperty 値で)、サガはその秒を取得しません。イベント。

関連付けを強化するために次の行を具体的に含めようとしましたが、それも機能しませんでした。

皮肉なことに、正しく動作する axon テスト フレームワークを使用したテスト ケースがあります。これは次のようなものです。

この問題は、コマンドを CommandGateway に直接配置し、リポジトリで結果を直接確認しているエンド ツー エンド テストで発生します。

AnnotatedSagaManager が使用されていることを再確認しましたが、使用されています。

何が間違っているのか、またはSagasの仕組みを誤解している人はいますか?

編集:さらにいくつかの更新:

1) UUID を直接関連付けるときに toString() を使用する必要があることに気付いたので、値をイベントの文字列にしようとしましたが、進行しませんでした。

2) 関連付けられた値を出力してみましたが、直接の関連付け行が必要ないことがわかりました (uuid は、開始サガ プロセス中に関連付けられます)。

3) @StartSaga を secondEvent に配置しようとしましたが、これは "Processing SecondEvent ..." のコードに到達しましたが、新しいサガでした。

理解は深まりましたが、まだ解決策はありません。