383.11. マッピングルール
サーバーのサービス名のマッピングは、次のルールを使用して発生します
- from エンドポイントのエンドポイント uri に一致する除外パターンはありますか?はいの場合はスキップします。
- from エンドポイントのエンドポイント uri と一致する serviceServiceMapping に一致がありますか?はいの場合は、見つかったサービス名を使用します。
- 現在のルートのルート ID と一致する serviceServiceMapping に一致がありますか?はいの場合は、見つかったサービス名を使用します。
- 交換が開始された元のルート ID と一致する serviceServiceMapping に一致がありますか?はいの場合は、見つかったサービス名を使用します。
- サービス名が見つかりませんでした。エクスチェンジは zipkin によって追跡されません。
クライアントのサービス名のマッピングは、次のルールを使用して発生します
- from エンドポイントのエンドポイント uri に一致する除外パターンはありますか?はいの場合はスキップします。
- メッセージの送信先のエンドポイントのエンドポイント uri と一致する clientServiceMapping に一致がありますか?はいの場合は、見つかったサービス名を使用します。
- 現在のルートのルート ID と一致する clientServiceMapping に一致がありますか?はいの場合は、見つかったサービス名を使用します。
- エクスチェンジが開始された元のルート ID と一致する clientServiceMapping に一致がありますか?はいの場合は、見つかったサービス名を使用します。
- サービス名が見つかりませんでした。エクスチェンジは zipkin によって追跡されません。
383.11.1. クライアントまたはサーバーのマッピングがない
クライアントまたはサーバーサービスマッピングの設定がない場合、CamelZipkin はフォールバックモードで実行され、エンドポイント uris をサービス名として使用します。
上記の例では、次のコードを自分で追加したかのようにサービス名が定義されることを意味します。
zipkin.addServerServiceMapping("activemq:queue:inbox", "activemq:queue:inbox"); zipkin.addClientServiceMapping("http:someserver/somepath", "http:someserver/somepath");
これは推奨される方法ではありませんが、サービス名のマッピングを行わなくてもすぐに起動して実行できます。ただし、インフラストラクチャー全体に複数のシステムがある場合は、camel エンドポイント uris を使用する代わりに、人間が判読できるサービス名の使用を検討する必要があります。