これまでの N 回のブログ投稿の紹介を通じて、実際にそれらを使用してビジネス ニーズを満たす基本的なマイクロサービス アーキテクチャ システムを構築することができました。しかし、ビジネスが発展するにつれて、システムの規模はどんどん大きくなり、マイクロサービス間の呼び出し関係はどんどん複雑になっていきます。 通常、クライアントによって開始されたリクエストは、バックエンド システム内の複数の異なるマイクロサービス呼び出しを経て、最終的なリクエスト結果が共同で生成されます。複雑なマイクロサービス アーキテクチャ システムでは、ほぼすべてのフロントエンド要求が複雑な分散サービス呼び出しリンクを形成します。各リンク内の依存サービスに過度の遅延またはエラーが発生すると、最終的なリクエストが失敗する可能性があります。この時点で、各リクエストのリンク全体を追跡することがますます重要になります。リクエスト呼び出しを追跡すると、エラーの根本原因を迅速に見つけ、各リクエスト リンクのパフォーマンスのボトルネックを監視および分析するのに役立ちます。
Spring Cloud Sleuth は、上記の分散サービス追跡問題に対する完全なソリューションを提供します。この章では、Spring Cloud Sleuth を使用してマイクロサービス アーキテクチャに分散サービス トレース機能を追加する方法について詳しく説明します。 クイックスタート さまざまな概念と原則を紹介する前に、まず簡単な例を実装して、サービス呼び出しを使用してアプリケーションにいくつかの Sleuth 構成を追加し、基本的なサービス追跡機能を実装します。これにより、Spring Cloud Sleuth を事前に理解し、その後、実装プロセスの詳細を徐々に紹介します。 準備 Sleuth を導入する前に、まず前の章で学んだ内容に従って準備作業を行い、いくつかの基本的な機能とアプリケーションを構築します。
上記の内容を実装すると、eureka-server、trace-1、trace-2 の 3 つのアプリケーションを起動し、postman や curl などのツールを通じて trace-1 のインターフェース http://localhost:9101/trace-1 にリクエストを送信できるようになります。戻り値 Trace と次の出力をコンソールで取得できます。
追跡の実装 準備作業が完了したら、この章のメインコンテンツを開始し、上記の trace-1 と trace-2 にサービス追跡機能を追加します。 Spring Cloud Sleuth のカプセル化により、アプリケーションにサービス トレース機能を追加するのは非常に簡単になります。次のように、trace-1 と trace-2 の pom.xml 依存関係管理に spring-cloud-starter-sleuth 依存関係を追加するだけです。
この時点で、実際にサービス トレースを実装するための trace-1 と trace-2 の基本的な準備が完了しました。 trace-1 と trace-2 を再起動した後、http://localhost:9101/trace-1 にある trace-1 のインターフェースにリクエストを送信します。この時点で、コンソール出力から sleuth に関するいくつかの手がかりを得ることができます。
上記のコンソール出力から、[trace-1,f410ab57afd5c145,a9f2118fa2019684,false] の形式で追加のログ情報を確認できます。これらの要素は、分散サービス トレースを実装するための重要なコンポーネントです。各値の意味は次のとおりです。
上記 4 つの値のうち、Trace ID と Span ID は、分散サービス トレースを実現するための Spring Cloud Sleuth の中核です。サービス要求リンクの呼び出し中は、同じトレース ID が維持され渡されるため、異なるマイクロサービス プロセスに分散された要求トレース情報全体が接続されます。上記の出力内容を例にとると、trace-1 と trace-2 は同じフロントエンド サービス要求ソースに属しているため、それらの Trace ID は同じであり、同じ要求リンク内にあります。 この記事の完全な例: 読者は、自分の好みに応じて、次の 2 つのリポジトリで trace-1 プロジェクトと trace-2 プロジェクトを表示することを選択できます。 ギットハブ ギティー 【この記事は51CTOコラムニスト「Zhai Yongchao」によるオリジナル記事です。転載の許可を得るには、51CTO を通じて著者に連絡してください。 この著者の他の記事を読むにはここをクリックしてください |
<<: 分散データベースは3つのレベルでアップグレードされています
>>: Parallels Toolbox 2.5 for Mac 使いやすい新ツールで毎日のコンピューティングを簡素化
一部の市民は、WeChatのアバターやニックネームは自由に変更できるため、特定の身元認証の抜け穴があ...
最近、百度Kステーションは活発に活動しており、多くのウェブマスターが罠にかかっています。一方では、百...
オンラインショッピングは、より簡単、快適、便利になってきています。人々の買い物の仕方は、永遠に変わっ...
重要なヒント: ウェブサイトに適したキーワードを選択することは、検索エンジンからサイトが得るトラフィ...
1. サーバーは安定して稼働する必要がある2. 適切なドメイン名を選択し、ウェブサイトのパスとファイ...
この記事はLeiphone.comから転載したものです。再印刷が必要な場合は、Leiphone.co...
社会の発展が加速する中、多くの中小企業がインターネット上で事業を推進し始めています。こうした企業の多...
熾烈な競争と高まる顧客要求を特徴とする業界では、スピードが重要な差別化要因となっています。迅速なアプ...
neironvpsは主にアメリカ(ロサンゼルス)、ドイツ、スイスでVPSや独立サーバー事業を運営して...
ここ二日間で、羅永浩は再び人気が高まった。多くの記事が議論している: ライブストリーミング100日後...
Time4vps は Hostcat に何度も登場しており、公式の情報源によると、設立されてから 1...
少し前に百度知道を閲覧していたとき、偶然面白いことを発見しました。多くの人が Google 検索を使...
検索スパイダーのクロールをブロックする場合、当然 robots.txt ドキュメントが思い浮かびます...
インターネットの急速な発展により、多種多様な雇用機会が生まれました。私の友人を例に挙げましょう。私た...
moonvm はブラックフライデー特別プロモーションを開始し、台湾 VPS、台湾ダイナミック VPS...