BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース サーバパフォーマンスの向上、フレームワーク使用の簡素化、開発者エクスペリエンスが向上したAxon 4.4

サーバパフォーマンスの向上、フレームワーク使用の簡素化、開発者エクスペリエンスが向上したAxon 4.4

原文(投稿日:2020/08/20)へのリンク

AxonIQは、CQRS/イベントソーシングとドメイン駆動設計 (DDD) を利用したイベント駆動マイクロサービスアプリケーションの構築に役立つフレームワークとサーバインフラストラクチャのメジャーリリースであるAxon 4.4を正式にリリースした。

新しいリリースでは、多層ストレージのサポート、レプリケーショングループの追加、イベントストアを読み取るための新しいインデックスタイプなど、Axon Serverのパフォーマンスと効率が大幅に向上している。Sagaのデッドラインを管理するために、Axon Serverはイベントスケジューラとして機能できるようになった。Axon Frameworkの使用法は、Configuration APIの改善と新しい注釈の利用により簡素化された。Axon Server APIが強化され、より多くのタイプのクライアントを構築できるようになり、最後にAxon Serverの管理機能が改善された。

開発者エクスペリエンスの観点から、Axon Frameworkは、必要なdevtools依存関係をプロジェクトに追加することにより、Spring Boot開発者ツールと組み合わせて使用できる。新しい改良されたリファレンスガイドにより、Axonコンポーネントの学習、ビルド、展開、および管理がより簡単になった。

Axonは、イベント駆動型アーキテクチャパラダイムを使用してマイクロサービスベースのアプリケーションを構築するための専用プラットフォームである。イベントソーシング/CQRSパターンの堅牢な実装と、DDD技術のファーストクラスサポートを提供する。Axonは、イベントソースおよびメッセージルーティング操作に必要なAPI機能をすべて実装するオープンソースのAxon FrameworkAxon Server、高度にスケーラブルな分散型の専用イベントストアおよびゼロ構成メッセージルータの、2つの主要コンポーネントを提供する。Axon Serverには、オープンソースであるAxon Server Standard Edition(Axon Server SE)と、より高度な機能(クラスタリングなど)を備えた有料オプションであるAxon Server Enterprise Edition(Axon Server EE)の2種類がある。

Axon Server SE/EEは、イベントスケジューラ機能を提供する。イベントスケジューラは、Sagaプロセスのライフサイクル中の期限に対処するため、つまり、期限が過ぎた場合にSagaに何かをさせるために特に重要だ。新しいAxon Serverベースの実装は、すでに利用可能な既存のQuartz/Javaベースの実装に追加される。Axon Server SE/EEは、タグベースのルーティングも提供して、コマンドハンドラまたはクエリハンドラがコマンドまたはクエリを実行することを制御する。たとえば、コマンドに国コードをタグ付けし、コマンドハンドラアプリケーションのタグに国コードを設定できる。この場合、Axon Server SE/EEは、同じ国コードのコマンドハンドラを見つけて、そのハンドラにコマンドを送信しようとする。

Axon Server EEは、そのイベントストアに多層ストレージ機能を追加する。この機能により、Axon Server EEノードのクラスタがある場合、指定されたプライマリノードに最新のイベントストアのみを保持し、指定されたセカンダリノードにイベントストア全体を保持するように選択できる。したがって、プライマリノードはより高速な (より高価な) ディスクを持つことができ、セカンダリノードはより安価なディスクを持つことができる。イベントストアの読み取りは通常最新のデータに対して行われるため、これによりパフォーマンスが向上するだけでなく、ストレージコストの削減にも役立つ。

Axon Server EEのもう1つの重要なパフォーマンスの向上は、グローバルインデックス形式を使用してイベントストアからのイベントの読み取りを大幅に改善する新しいインデックス機能 (JUMP_SKIP_INDEX) の追加だ。パフォーマンスの変更を丸めるために、イベントストアからのイベントはフォロワからのみ読み込まれ、最新のイベントのみがリーダ (Leader) からリクエストされる。

Axon Server EE内の「コンテキスト」は、RDBMSの論理データベースに相当し、DDDの意味で「境界付けられたコンテキスト (Bounded Context)」に使用できる。Axon Server EE 4.4では、コンテキストの「レプリケーショングループ」の概念が導入されている。基本的に、コンテキストはAxon Server EEクラスタの複数のノードに分散できるため、そのデータの複製には関連するオーバーヘッドがある。レプリケーショングループを定義し、それに複数のコンテキストを関連付けることで、このオーバーヘッドを削減できるようになった。

クラスタテンプレートを使用して、レプリケーショングループ、コンテキスト、ユーザ、アプリケーションなどのクラスタをすばやく初期化できる。
Axon Frameworkの新しいリリースでは、機能セット全体の使用法が簡素化された - Configuration APIを使用して、SnapshotterまたはSnapshotFilterによるスナップショットの構成がより簡単になる。コンポーネント固有のメッセージハンドラインターセプタを専用のアノテーション (@MessageHandlerInterceptor) で定義できるようになり、StatusChangeListenerをTrackingEventProcessor用に構成できるようになる。新しいリリースでは、完全に改良されたAxon Serverコネクタも組み込まれている。このコネクタは、Axon FrameworkベースのアプリケーションがAxon Server SE/EEに接続するために使用する。コネクタの目標の1つは、非AxonアプリケーションをAxon Serverに簡単に接続することである。

このリリースは、ポッドキャスト/ブログ、Axonに関する記事、一連のFast-laneとFullトレーニング、そして最後に今年は仮想化される年次のEvent-driven Microservices Conferenceを含む、新しいMediumページの立ち上げと同時に行われる。

この記事に星をつける

おすすめ度
スタイル

特集コンテンツ一覧

BT