現在、CQRSとイベントソーシングに関する調査を行っており、これらの2つの懸念に対処する2つの主要なフレームワーク、 Axon Framework および Eventuate が見つかりました。どちらも継続的に開発されていますが、Eventuateは RBMHリポジトリ でより積極的に開発されています。
私はGITでいくつかのサンプルプロジェクトのクローンを作成していて、Eventuateは少し軽量に見えるという結論に達しましたが、これはAxonに比べて機能が不足しているためだと思います。
私はこれら2つのフレームワーク間の比較を見つけるために無駄に試しましたが、ここでもStackoverflowでは何も見つかりませんでした。誰かが何かの意見を持っていますか?
Axon Frameworkの最初の作成者であるため、この回答は少し偏っている場合があります。私はまた、Eventuateの専門家ではありませんが、その概念に精通しています。
Axonは約7年前から存在しており、それ以来、製造の多くのシステムで使用されています。 Eventuateは、現在アルファ版であるSaaSソリューション(オープンソースのローカルインストールの代替案を使用))として設計されているようです。
どちらのフレームワークも、異なる目標を念頭に置いて設計されているようです。 Eventuateがイベントソーシングとイベントパブリケーションに焦点を当てているのに対し、Axonの焦点はメッセージングの抽象化にあり、メッセージングはコマンド、イベント、および(後の段階でも)クエリの両方です。イベントハンドラとコマンドハンドラを区別するための注釈を提供します。また、フレームワークの内部から切り離された状態でエンティティを設計することもできます。
この抽象化により、イベントストアとして使用するデータベースを「プラグイン」することができます。 Axonは、そのままでJPA、JDBC、MongoDBのサポートを提供します。私の知る限り、Eventuateは独自のイベントストア実装を提供しています。