Axon Frameworkの最新バージョンに、特定のクエリモデルの更新を購読可能にするSubscription Query APIと、デッドラインメッセージのスケジューリングを可能にするDeadline Managerが追加されている。また最近リリースされたバージョン3.3には、Axon-Kafkaモジュールが追加された。これにより、イベントの送受信にKafkaが使用可能になる。
新しいSubscription Query APIを使うと、クエリモデルが更新されていないか定期的にチェックする必要がなくなる。代わりに、モデルにサブスクリプションを追加することで、すべての更新が受け取れるようになる。
新しいDeadline Managerを使うと、特定の時点にデッドラインメッセージを発行するようにスケジューリングできるようになる。デッドラインメッセージを処理するためにアノテーション付きの関数を追加することで、そのメッセージをAggregateやSagaインスタンスのスコープで処理できる。
Axon-Kafkaモジュールは、イベントの送受信にKafkaを使用可能にする。これによりAxonは、Kafkaソースからのイベント受信時にイベントプロセッサを再生できるようになる。イベントソーシングにおけるKafka Streamsの使用については、これまでも提案と懐疑的意見の両方があり、Axonに関わる開発者たちの間で議論された。最終的な実装では、AxonはKafkaをストリーム可能なメッセージソースとして、 すなわち分散セットアップにおけるイベント受信手段として使用する。
他にも以下のような改善が含まれる。
- Aggregate Rootは別のAggregateをインスタンス化できるようになる。これはドメインでしばしば必要とされる。
- ハンドラ定義のための簡単化した設定。これにより、単一のイベントプロセッサが複数のSagaを処理できるようになる。
- 非同期タスクを実行するクエリハンドラは、戻り値の型にFuture<...>を宣言できるようになる。
- Aggregateは自身のバージョンにアクセスできるようになる。これにより変更の競合を検出するとともに、クエリ結果が確実に正しい変更を含むようにする。
現在、アップデートされたバージョン3.3.2がリリースされている。この新リリースには発見された3つの問題の修正が含まれており、バージョン3.3を使っている人は、アップグレードすることを強く推奨する。
Axon Frameworkは、JVMプラットフォーム向けのオープンソースプロダクトで、CQRSとイベントソーシングアーキテクチャパターンに基づくシステムのための構成要素を提供する。このフレームワークは2009年にAllard Buijze氏により作成され、Apache License, Version 2.0のもとライセンスされている。Axonに基づく小さなサンプルアプリケーションがいくつかダウンロードできる。
AxonIQは今年の初め、独自のイベントソースデータベースAxonDBをリリースした。これは、プッシュベースのイベントパブリッシングと、ACIDに完全準拠したトランザクションモデルを備えている。つまり、複数のイベントを単一のトランザクションに追加することが可能だ。現在、そのフリーの開発者向けエディションがダウンロードできる。
Rate this Article
- Editor Review
- Chief Editor Action