Java エージェントを使用し、Java SDK でカスタムトラッキングを追加することで、アプリケーションを MSE Microservices Governance に接続します。このアプローチにより、任意のコードブロックを柔軟にインスツルメントできます。
制限事項
-
MSE Java エージェントのバージョンが 3.2.9 以降であることを確認してください。
-
プログラミングモデルの制限により、マイクロサービスガバナンスにはアクティブなトラフィックがあるカスタムインターフェイスのみが表示されます。
エージェントのバージョンについては、「MSE Java エージェントのリリースノート」をご参照ください。また、「MSE エージェントのバージョン指定」の手順に従ってエージェントのバージョンを指定することもできます。
操作手順
ご利用のアプリケーションがすでに MSE Microservices Governance に接続されている場合は、次の手順に従ってカスタムインターフェイスを追加します。
-
アプリケーションの 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 はリソース名です。この名前は、モニタリングページとコンソールのインターフェイスリストに表示されます。 // ルールもこのリソース名に基づいて設定されます。 // EntryType.IN は、これが Ingress リソースであることを示します。 try (Entry entry = SphU.entry("HelloWorld", EntryType.IN)) { // 保護対象のビジネスロジック。 System.out.println("Hello MSE Sentinel!"); } catch (BlockException e) { // スロットリングまたはデグレードイベントがトリガーされます。ここでイベントを処理します (例:フォールバックやイベントのログ記録)。 }説明-
EntryType は、リソース上のトラフィックがインバウンドかアウトバウンドかを区別します。EntryType.IN はインバウンドトラフィックを示し、EntryType.OUT はアウトバウンドトラフィックを示します。システムルールは Ingress リソースに対してのみ有効です。
-
コンソールに表示されるアプリケーションの総トラフィックには、EntryType.IN のトラフィック統計のみが含まれます。
-
カスタムトラッキングのリソース名は 1,024 文字を超えることはできません。
-
カスタムトラッキングのリソース名には、
-、_、.、または:の記号のみを使用してください。
-
結果の確認
MSE コンソールにログインします。 左側のナビゲーションウィンドウで、Microservices Governance > [アプリケーションガバナンス] を選択します。 アプリケーションのリソースカードが [アプリケーションガバナンス] ページに表示され、データが報告されている場合、接続は成功です。
さらに、カスタムインターフェイスがトラフィックを生成すると、対応するアプリケーションの [カスタムインターフェイス] タブにそのインターフェイスが表示されます。
アプリケーションの [インターフェイス詳細] ページに移動し、[カスタムインターフェイス] タブを選択します。左側には、リクエスト数や成功率などのメトリクスとともに各カスタムインターフェイスが一覧表示されます。右側には、選択したインターフェイスの QPS と最大同時実行数のモニタリングチャートが表示されます。
関連ドキュメント
トラフィック制御メジャーを使用して、カスタムインターフェイスを保護できます。詳細については、「スロットリングルールの設定」、「隔離ルールの設定」、および「サーキットブレーカールールの設定」をご参照ください。