分散型サービスコールトラッキングおよびチェーンZikpin

コールチェーンシステムによって生成された分散サービスをトレース

いくつかの問題がある場合は、サービスとサービスコンプレックス間の依存関係、サービス場合、サービスでは、具体的には、サービスとサービス時間の間で呼び出して、原因を追跡することは困難です。

マイクロサービスシステムでは、事業開発と、システムは、その後、より多くなり、さまざまなサービス間の関係がより複雑になるだろう呼び出しますHTTPリクエストを使用すると、呼び出し要求の監視を、この時間は高すぎるため、サービスエラーのネットワーク遅延が発生したり、要求が失敗した送信することができ、この呼び出しの過程で、最終的な結果を返すために別の微細加工サービスの数を呼び出しこれは特に重要です。春クラウドスルースは、分散サービス、リンク監視ソリューションを提供します

リンクサービスとサービスの間の関係を呼び出し手段:複数のサービスの一連のプロセスチェーンの関係を呼び出します

SpringCloud Zipkin与スルース

Zipkinは、Twitterのオープンソース企業によるオープンソースの分散型追跡システムで、これはデータの収集、保管、検索、ショーを含め、遅延の問題マイクロサービスアーキテクチャを解決するために、定期的なデータ収集サービスに取り組んでいます。タイミングデータを報告zipkin各サービスは、例えば、ユーザが要求サービス処理時間等毎に、容易にシステム内に存在するボトルネックを監視することができます。zipkinはZipkin関係を呼び出すことによって、依存関係グラフに基づいてUIを生成します。

春クラウドスルースは、サービスコールトラッキングとの間のリンクを提供します。スルースによって明確にサービスを介してサービス要求は、各サービスは長いプロセスが必要なものを理解することができます。だから私たちは簡単にマイクロ通話サービス間の関係を明確にすることができます。またスルースは、私たちを助けることができます。

時間のかかる分析:あなたは簡単にサービスが、時間がかかると呼ぶものを分析するために、スルースにより、各サンプリング時間のかかる要求を理解することができます。

可視化エラー:プログラムの捕捉されない例外は、あなたが統合Zipkinサービス・インターフェースを見ることができ、リンクの最適化:より頻繁にサービスコール、あなたはこれらのサービスのいくつかの最適化の施策を実施することができます。

スプリングクラウドスルースZipkinは、データを表示するZipkin UIを利用Zipkin情報を格納するためにメモリを使用して、Zipkinに情報を送信するために、組み合わせることができます。

Zipkinサービス追跡システムを構築

春のブートバージョン2.0の後、自分自身がカスタマイズされた公式のビルド非推奨が、直接のjarパッケージを提供するようにコンパイルされています。

注意:公式サイトをzipkinは公式jarファイルの実行を使用して、カスタマイズし提供してきました。

起動します。

zipkinを開始するサービスのデフォルトのポート番号

zipkin.jarデフォルトのポート番号-jar javaの; 9411

アクセス住所:http://127.0.0.1:9411/zipkin/

ポート番号8080スタートスタートzipkinサービスを指定します

ます。java -jar zipkin.jar --server.port = 8080

アクセスアドレスします。http://192.168.18.220:8080

アクセスRabbitMQの開始を指定します

ます。java -jar zipkin.jar --zipkin.collector.rabbitmq.addresses = 127.0.0.1

Zipkinは、統合された非同期転送のRabbitMQを構築します

1、RabbitMQのを開始

2、Zipkin(Zipkinが自動的にキューを作成します)を開始

3、キューが非同期転送ZipkinClientを形成するために開始します

サービスの追跡原理

要求は、分散システムの入口端に送信される要求の追跡を満たすために、あなただけの分散システムの内部循環の際に、フレームワークは常に一意の識別を提供しながら、CDのトラックのアイデンティティのためのフレームワークを作成するためのサービス要求を追跡する必要があります、トレースIDまで、要求元に戻るまで、一意の識別子が以前に言及されています。トレースIDを記録することによって、我々はすべての要求プロセスの仲間を記録することができるようになります。要求は、各サービス・コンポーネントに到着し、または処理ロジックは、特定の状態に達したときに、各処理ユニットの遅延時間をカウントするために、識別が前述され、それは固有の識別子によりマークを開始し、特定の処理を終了しますスパンID。各スパンのためには、開始と終了スパンスパンをタイムスタンプを記録することで、二つのノードの開始と終了を持っている必要があります、そしてあなたはスパンの時間遅延をカウントすることができ、タイムスタンプの記録に加えて、それはいくつかを含めることができますこのようなイベント名などの他のメタデータ、情報を要求する、など

TranceIdの役割は一意であることが保証全体のマイクロ呼び出しチェーン・プロセスを提供することです。

たびにレコード要求Spanid。

マイクロサービス、Spanid転送要求にTranceIdはヘッダ内に配置されます。Trancdid各要求は同じですが、Spanidは、すべての要求は再び1を生成します。全体のマイクロサービスコール依存性を得るために、アップ複数Spanidの組み合わせをTranceId。

新しい知識のSpringCloud2.x紹介

 

 

 

公式サイト:httpsを://zipkin.io/pages/quickstart.html 

おすすめ

転載: www.cnblogs.com/ming-blogs/p/10987951.html