分散システムでのリクエスト追跡は、Trace ID と Span ID を通じて実現され、記録された追跡情報は最終的に分析システムによって収集され、過度の遅延があるリクエスト リンクの警告、リクエスト リンクの呼び出し詳細の照会など、分散システムの監視および分析機能を実装するために使用されます。この時点で、分析システムに接続するときに問題が発生します。分析システムが追跡情報を収集する場合、どのくらいの追跡情報を収集する必要がありますか?
理論的には、収集するトレース情報が多いほど、システムの実際の動作をより正確に反映し、より正確な警告と分析を提供できるようになります。ただし、高度な同時実行分散システムが実行されている場合、多数のリクエスト呼び出しによって膨大な量のトレース ログ情報が生成されます。トレース情報を収集しすぎると、分散システム全体のパフォーマンスに一定の影響が出ます。同時に、大量のログ情報を保存するには、大量のストレージ オーバーヘッドも必要になります。したがって、Sleuth は抽象コレクション メソッドを使用して、収集するトレース情報をマークします。これは、前にログ情報で確認した 4 番目のブール値です。後続のトレース情報コレクターによって情報が取得され、保存されるかどうかを表します。 Sleuth のサンプリング収集戦略は、次のように定義される Sampler インターフェースを通じて実装されます。
isSampled メソッドを実装すると、Spring Cloud Sleuth はトレース情報を生成するときにこのメソッドを呼び出して、トレース情報を収集するかどうかのフラグを生成します。 isSampled が false を返したとしても、それはトレース情報が後続のリモート分析システム (Zipkin など) に出力されないことを意味するだけであることに注意してください。リクエストのトレース アクティビティは引き続き実行されるため、コレクション フラグが false に設定されたレコードがログに引き続き表示されます。 デフォルトでは、Sleuth は PercentageBasedSampler によって実装されたサンプリング戦略を使用して、リクエストのパーセンテージとしてトレース情報を構成および収集します。 application.properties で次のパラメータを構成することで、パーセンテージ値を設定できます。デフォルト値は 0.1 で、リクエスト トレース情報の 10% を収集することを意味します。
開発およびデバッグ中は、通常、すべてのトレース情報が収集され、リモート リポジトリに出力されます。値を 1 に設定するか、AlwaysSampler Bean を作成してデフォルトの PercentageBasedSampler 戦略をオーバーライドすることができます (実装する isSampled メソッドは常に true を返します)。次に例を示します。
実際の使用においては、Span オブジェクトに格納されている情報と連携することで、指定したタグのみを含むサンプリング戦略を実装するなど、実際の状況に応じてよりニーズに近いサンプリング戦略を立てることができます。
追跡ログ情報のデータ値は、多くの場合、1 週間などの最新の期間内でのみ有効です。サンプリング戦略を設計する際には、主に、システムに明らかなパフォーマンスの影響を与えることなく、ログ保持時間ウィンドウ内でストレージスペースを最大限に活用してサンプリング戦略を実装するという原則を考慮します。 完全な例: 読者は、自分の好みに応じて、次の 2 つのリポジトリで trace-1 プロジェクトと trace-2 プロジェクトを表示することを選択できます。 Github: https://github.com/dyc87112/SpringCloud-Learning/ gitee: https://gitee.com/didispace/SpringCloud-Learning/ 【この記事は51CTOコラムニスト「Zhai Yongchao」によるオリジナル記事です。転載の許可を得るには、51CTO を通じて著者に連絡してください。 この著者の他の記事を読むにはここをクリックしてください |
<<: エッジコンピューティングとクラウドコンピューティングの比較
>>: 企業がマルチクラウドアーキテクチャを構築するための4つのステップ
2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っています電子メール...
春節の期間中、ほとんどのウェブマスターは祭りを祝うのに忙しくなります。明らかに、これは SEO 攻撃...
【はじめに】インターネット時代、電子商取引は私たちの生活の中で普及し、人々の心に深く根付いています。...
VPS 上に Web サーバー環境をセットアップするには、次の手順に従います。適切なオペレーティング...
最近、ウェブマスターフォーラムやウェブサイトでは「SEOERの転職」という話題が頻繁に登場しています...
[[418169]]この記事はWeChatの公開アカウント「Computer World」から転載し...
rocketvps.com は、アンマネージド VPS 業者であり、knownhost.com (中...
伝説によると、今年は世界の終わりの年だそうです。今年の独身の日は11月11日です。おしゃべりはやめて...
Google PR 値は、ウェブマスターがフレンドリー リンクを交換するための基準の 1 つであるた...
01 macvlan の紹介前回の記事では、tap/tun、veth-pair、bridge といっ...
企業に使いやすく、コード不要のツールを提供します。従来はデータ エンジニアやデータ サイエンティスト...
モバイル検索大手のレイアウト: 商業化は有料ランキングに限定されており、複数の足でより速く動く必要が...
感染症流行中、ネットユーザーの「クラウド監視」により、武漢火神山病院と雷神山病院の建設進捗状況が注目...
オラクル・コーポレーションは先日、2018年度第2四半期の業績を発表しました。総収益は前年同期比6%...
zvps は 2005 年に設立され、チェコ共和国に登録されています (会社登録番号: 290 37...