Java 用 SDK のカスタムトラッキングを Java エージェントと統合することで、アプリケーションに対して Microservices Engine (MSE) のマイクロサービスガバナンスを有効にすることができます。 この方法で、ビジネス要件に基づいてコードブロックに対して操作を実行できます。 このトピックでは、アプリケーションのカスタムトラッキングを構成する方法について説明します。
制限事項
MSE Java エージェントのバージョンは 3.2.9 以降である必要があります。
プログラミングパターンの制限により、マイクロサービスガバナンスに表示できるのは、トラフィックを生成するカスタムインターフェースのみです。
エージェントのバージョンの詳細については、「Java エージェントのリリースノート」をご参照ください。また、「エージェントのバージョンを指定する」の手順に従ってバージョンを指定することもできます。
手順
アプリケーションでマイクロサービスガバナンスが有効になっている場合は、次の手順を実行してカスタムインターフェースを追加できます。
アプリケーションの pom.xml ファイルに次の依存関係を追加します。
<dependency> <groupId>com.alibaba.csp</groupId> <artifactId>sentinel-core</artifactId> <version>1.8.7</version> </dependency>
トラッキングを構成します。 次のコードを使用して、ビジネスロジックをカプセル化します。
import com.alibaba.csp.sentinel.Entry; import com.alibaba.csp.sentinel.SphU; import com.alibaba.csp.sentinel.slots.block.BlockException; import com.alibaba.csp.sentinel.EntryType; // HelloWorld は、呼び出されるリソースの名前です。リソースは、監視ページと MSE コンソールのインターフェースリストに表示されます。 // ルールはリソースに対して構成されます。 // EntryType.IN は、リソースがイングレスリソースであることを示します。 try (Entry entry = SphU.entry("HelloWorld", EntryType.IN)) { // ビジネスロジックは保護されています。 System.out.println("Hello MSE Sentinel!"); } catch (BlockException e) { // スロットリングとデグレードがトリガーされます。フォールバックやロギングなどのスロットリングプロセスが実行されます。 }
説明EntryType は、リソース上のトラフィックがインバウンドトラフィックかアウトバウンドトラフィックかを指定します。 EntryType.IN はインバウンドトラフィックを示し、EntryType.OUT はアウトバウンドトラフィックを示します。システムルールはイングレスリソースに対してのみ有効です。
MSE コンソールに表示されるアプリケーションの合計トラフィック量には、EntryType.IN で示されるトラフィックのみが含まれます。
カスタムトラッキングのリソースの名前は、1,024 文字を超えることはできません。
カスタムトラッキングのリソース名に使用できる推奨記号は、ハイフン (
-
)、アンダースコア (_
)、ピリオド (.
)、またはコロン (:
) です。
結果の確認
MSE コンソール にログインします。 左側のナビゲーションペインで、[マイクロサービスガバナンス] >[アプリケーションガバナンス] を選択します。 [アプリケーションリスト] ページにアプリケーションのリソースカードが表示され、データが報告されている場合、アプリケーションに対してマイクロサービスガバナンスが有効になっています。
カスタムインターフェースでトラフィックが生成されている場合は、インターフェースの詳細ページの [カスタムインターフェース] タブでカスタムインターフェースを表示できます。
参照
カスタムインターフェースでトラフィック保護を実行する方法の詳細については、「スロットリングルールの作成」、「分離ルールの作成」、および「サーキットブレーキングルールの作成」をご参照ください。