問題タブ [zipkin]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Zipkin を使用した Camel でのルート全体のトレースは、トレース ヘッダーがクライアントによって提供されている場合にのみ機能します。
camel-zipkin コンポーネントを使用して、2 つの異なるサービス間を流れるリクエストを追跡しています。
service-a: Spring Boot で実行される Camel アプリケーションで、単純な HTTP プロキシとして機能します (この概念実証の目的で)。camel-zipkin モジュールによって提供される Zipkin サポート。ルート:
service-b: REST コントローラーを使用する Spring Boot アプリケーション。Spring Cloud の spring-cloud-starter-kubernetes-zipkin モジュールによって提供される Zipkin サポート。
service-a にリクエストを送信すると、Zipkin にトレースの一部が表示されます。service-a からのクライアント リクエストが表示され、service-b にサーバー リクエストが表示され、そこに追加したスパンも表示されます。リクエストパスのさまざまな部分を計測します。ただし、キャメル部分からのサーバー要求は表示されません。これには、ルートに加えた遅延によって発生した追加の 2 秒が含まれます。
camel-zipkin コードをトレースすると、次の行により、トレース ID ヘッダーが既に存在する場合にのみサーバー リクエストがトレースされることがわかりました 。 /camel-zipkin/src/main/java/org/apache/camel/zipkin/ZipkinTracer.java#L753
この知識があれば、独自のトレース ヘッダー (X-B3-TraceId、X-B3-Sampled、および X-B3-SpanId) を手動で指定すると、期待どおりにトレース全体を取得できます。ただし、クライアントがトレースを指定していなくてもトレースを開始できるようにしたいと考えています。
camel-zipkin コードの読み取りに基づいて、望ましい動作を誘導する PR を作成できると思います。ただし、その前に、いくつかのことを確認したいと思います。
- クライアントからトレース ヘッダーが提供されない場合に、トレースが自動的に開始されることを期待するのは妥当ですか?
- camel-zipkin 構成で何か不足していますか?
ありがとう!
spring-boot - プライマリ Rabbit テンプレートと Rabbit コネクション ファクトリの設定方法
Spring 統合を使用して RabbitMQ に接続している Spring Boot プロジェクトで、いくつかのエラーに直面しています。次のような XML ファイルで RabbitMQ の構成を行っています。
しかし、私は各コンポーネントを 2 つ作成しています。プライマリーを設定するには?
ここで問題が発生しました。Spring Cloud にこのバージョンを使用していました。
すべてが正常に機能していましたが、バージョンを次のように更新すると:
このエラーが発生しています:
そして、この依存関係のためにエラーが発生します:
この依存関係を削除すると、エラーは発生しません。
このシナリオを再現するサンプル プロジェクトを見つけることができます。pom ファイルには、次のように表示されます。
https://github.com/fjmpaez911/spring-integration-zipkin-cloud
したがって、RabbitMQ のプライマリ構成を設定する方法を知る必要があります。さらに、このバージョンの Edgware.RELEASEを使用した場合にのみこのエラーが発生するため、問題になる可能性があると思います
何か不足していますか?