MicroTxの新機能

Transaction Manager for Microservices (MicroTx)リリース24.4とその先行リリースの変更点は次のとおりです。

24.4の新機能

2025年1月にリリースされたMicroTx 24.4での変更点は次のとおりです。

Sagaトランザクションでのセッション・アフィニティおよびキャッシュのサポート

Sagaトランザクションのトランザクション・ログは、MicroTxコーディネータに対してキャッシュが有効になっている場合、キャッシュされるようになりました。

Saga参加側サービスのセッション・アフィニティを有効にできるようになりました。Saga参加側サービスのレプリカが複数ある場合、リクエストは1つのトランザクションで異なるレプリカに向けられることがあります。参加側サービスのセッション・アフィニティを有効にすると、特定のトランザクションまたはセッションに対するすべてのリクエストは、最初のリクエストを処理した参加側サービスの同じエンドポイントまたはレプリカにルーティングされます。「セッション・アフィニティについて」を参照してください。

MicroTx Enterprise Editionにアップグレードするプロセスの簡略化

SQLスクリプトを実行して、MicroTx Enterprise Editionの最新リリースに簡単にアップグレードできます。「SQLスクリプトを使用した最新Enterprise Editionへのアップグレード」を参照してください。

MicroTxライブラリの機能拡張

拡張MicroTxライブラリには、次の追加機能があります。

以前のリリースでの変更点

MicroTxの以前のリリースでの変更点は次のとおりです。

24.2.2での変更

2024年11月にリリースされたMicroTx 24.2.2での変更点は次のとおりです。

環境変数を使用したMicroTxトランザクション・コーディネータの構成

MicroTxトランザクション・コーディネータのMicroTxライブラリがマルチクラウド環境でサポートされています。環境変数を使用して、MicroTxトランザクション・コーディネータの構成詳細を指定できるようになりました。「環境変数を使用したコーディネータの構成」を参照してください。

Armアーキテクチャに基づくMicroTxトランザクション・コーディネータ・イメージ

MicroTx Freeのトランザクション・コーディネータ・イメージは、Armアーキテクチャで使用できるようになりました。「macOS (Arm)のDockerコンテナでのMicroTxの実行」を参照してください。

24.2での変更

2024年6月にリリースされたMicroTx 24.2では、次の機能が導入されました。

MicroTxライブラリの機能拡張

機能拡張されたMicroTxライブラリは、次のアプリケーションの機能を提供します:

Prometheus Alertmanagerを使用した通知の送信

特定のしきい値およびルールに基づいて通知を送信するようにPrometheus Alertmanagerをインストールおよび構成します。たとえば、MicroTxコーディネータ・サービスまたはデータベース・サービスが使用できない場合、ユーザーに通知されます。「Alertmanagerのインストールおよび構成」を参照してください。

コンソール通知によるトラブルシューティングの機能拡張

特定の障害が発生した場合、通知がMicroTx Webコンソールに表示されます。これらのメッセージは、問題の特定とトラブルシューティングに役立ちます。「トラブルシューティング」を参照してください。

Istioサービス・メッシュなしでMicroTxをインストールするHelmチャートのサンプル

Kubernetesでは、MicroTxをサービス・メッシュ内にインストールすることもサービスなしでインストールすることもできます。インストール・バンドルには、Istioサービス・メッシュの有無にかかわらず、KubernetesクラスタにMicroTxをインストールするための参照として使用できるサンプル値を含むHelmチャートの例が用意されています。「Kubernetesクラスタの準備」を参照してください。

23.4.2での変更点

2024年2月にリリースされたMicroTx Free 23.4.2で強化されたパフォーマンスとリジリエンスを体験してください。

Enterprise Editionリリース23.4.1での変更点

2023年12月にリリースされたMicroTx Enterprise Edition 23.4.1では、次の機能が導入されました。

MicroTxコンソールを使用したトランザクションの管理

MicroTxトランザクション・コーディネータのすべてのレプリカのヘルスを表示し、使いやすいグラフィカルWebコンソールを使用してトランザクションを管理します。「Webコンソールを使用したトランザクションの管理」を参照してください。

トランザクション・プロモーションの管理

MicroTxクライアント・ライブラリは、ローカル・トランザクションを管理します。トランザクションをローカルで処理すると、パフォーマンスが向上します。MicroTxコーディネータは、このようなトランザクションのデータベース・キャッシュおよびログの読取り、書込み、調整または保存を行わないため、ローカル・トランザクションによって時間が節約され、スループットが向上します。「グローバルおよびローカル・トランザクションについて」を参照してください。

Grafanaを使用したメトリックのビジュアル化

MicroTxコーディネータは、Prometheusで簡単に読み取れる形式でメトリックを公開します。Grafanaを使用して、Prometheusに収集されたメトリック・データをビジュアル化します。MicroTxダッシュボードをインポートして、Grafanaにメトリックを表示できます。これらのメトリックを使用して、MicroTxコーディネータのトランザクションおよびヘルスをモニターします。「パフォーマンスのモニター」を参照してください。

MicroTxによるリソース・マネージャとしてのOracle RACのサポート

XAトランザクション・プロトコルを使用するNode.js、JAX-RSおよびSpring RESTアプリケーションのリソース・マネージャとして、Oracle Real Application Clusters (RAC)を使用できます。「サポートされているリソース・マネージャ」を参照してください。

トランザクション・ログのキャッシュ

etcdまたはOracle Databaseに格納されているトランザクション・ログをキャッシュして、パフォーマンスを向上させ、読取りおよび書込み操作を最適化します。「キャッシュの有効化」を参照してください。

トランザクション・コーディネータの複数のレプリカの作成

マイクロサービス対応トランザクション・マネージャの複数のレプリカを一度に実行できます。本番環境に3つ以上のレプリカが推奨されます。「環境の詳細」を参照してください。

レプリカの数は、トランザクションの数に基づいてスケール・アップまたはスケール・ダウンできます。トランザクション・リクエストの数が少ない場合は、レプリカの数をスケール・ダウンしてリソースを効率的に使用します。

共通リソース・マネージャを使用するトランザクションの最適化

ビジネス要件に基づいて、複数のトランザクション参加側サービスに対して単一のリソース・マネージャを使用できます。複数の参加側サービスに共通リソース・マネージャを使用する場合、MicroTxはコミット処理を最適化できるため、XAトランザクションのスループットが向上し、レイテンシが低下します。「複数のアプリケーションの共通リソース・マネージャ」を参照してください。

Oracle Databaseまたはetcdにトランザクション詳細を格納

MicroTxは、内部メモリーに加えて、トランザクション状態の永続性を確保するためのデータ・ストアとしてetcdまたはOracle Databaseをサポートするようになりました。「トランザクション・ログでサポートされているデータ・ストア」を参照してください。

トランザクションのリカバリ

トランザクション・コーディネータ・サーバーに障害が発生した場合、MicroTxは、サーバーの再起動後に進行中のトランザクションを再開します。「トランザクション・リカバリについて」を参照してください。

トランザクション数の制限なし

Transaction Manager for Microservices Freeを使用すると、すべてのトランザクション・プロトコルおよびトランザクション・コーディネータのすべてのレプリカで、1時間当たり最大4800トランザクションを実行できます。Transaction Manager for Microservices Enterprise Editionのトランザクション数に制限はありません。

Freeリリース23.4.1での変更点

2023年10月にリリースされたMicroTx Free 23.4.1では、次の機能が導入されました。

MicroTxライブラリの機能拡張

機能拡張されたMicroTxライブラリは、次のアプリケーションの機能を提供します:

MicroTxによる@Transactional注釈の使用のサポート

@Transactional注釈を使用すると、XAトランザクション・プロトコルを使用するJavaアプリケーションを簡単に構成できます。「@Transactionalについて」を参照してください。

ログ相関を通じて機能拡張された診断およびトラブルシューティング

MicroTxコーディネータとMicroTxクライアント・ライブラリは、ログを生成します。障害が発生した場合は、ログを表示して問題を特定し、トラブルシューティングします。「ログ」を参照してください。

22.3.2での変更点

2022年12月にリリースされたMicroTx 22.3.2では、次の新機能が導入されました。

XAトランザクションのラスト・リソース・コミット(LRC)の最適化

ロギング・ラスト・リソース(LLR)の最適化に加え、ラスト・リソース・コミット(LRC)の最適化を使用すると、1つの非XAリソースがグローバルXAトランザクションに参加できるようになりました。「非XAリソースの最適化」を参照してください。

サービスでの複数のリソース・マネージャのサポート

アプリケーションのビジネス・ロジックに基づいて、1つの参加側サービスに対して複数のリソース・マネージャを使用できます。1つの参加側サービスは、複数のXA準拠リソース・マネージャに接続できます。ただし、1つのトランザクションで非XAリソースは1つしかサポートされません。「1つのアプリケーションでの複数のリソース・マネージャの構成」を参照してください。

TCCトランザクション・プロトコルを使用したPythonアプリケーション用のMicroTxライブラリ

Python用のMicroTxライブラリは、Pythonアプリケーションが新しいTCCトランザクションを開始したり、既存のTCCトランザクションに参加したりする機能を提供します。以前は、TCCトランザクション・プロトコル用のMicroTxライブラリでは、JavaおよびNode.jsアプリケーションのみがサポートされていました。「TCCでのPythonアプリケーションの開発」を参照してください。

XAトランザクション通知の受信の登録

トランザクション・イニシエータ・サービスおよび参加側サービスを登録して、通知を受信できます。MicroTxは、イベントの発生時(準備フェーズの前およびMicroTxがトランザクションを正常にコミットまたはロールバックしたとき)に、登録したサービスについて通知します。イベントの発生時にビジネス・ロジックに基づいてサービスが追加のタスクを実行するようにする場合には、サービスの登録をお薦めします。「XAトランザクション通知の受信の登録」を参照してください。

WebLogic Server J2EEアプリケーション用のMicroTxライブラリ

MicroTxライブラリをWebLogic Server J2EEアプリケーションと統合できます。『HelidonとOracle WebLogic Serverの統合』「MicroTxを使用したWebLogic ServerとHelidon間のXAグローバル・トランザクションの統合」を参照してください。

22.3.1での変更点

2022年10月にリリースされたMicroTx 22.3.1では、次の新機能が導入されました。

セッション・アフィニティのサポート

参加側サービスのレプリカが複数ある場合、リクエストは1つのトランザクションで異なるレプリカに向けられることがあります。参加側サービスのセッション・アフィニティを有効にすると、特定のトランザクションまたはセッションに対するすべてのリクエストは、最初のリクエストを処理した参加側サービスの同じエンドポイントまたはレプリカにルーティングされます。ビジネス・ユース・ケースによっては、トランザクション参加側サービスまたはトランザクション・コーディネータに対してセッション・アフィニティを有効にする必要がある場合があります。「セッション・アフィニティについて」を参照してください。