383.11. 매핑 규칙

server의 서비스 이름 매핑은 다음 규칙을 사용하여 수행됩니다.

  1. 끝점에서의 엔드포인트 URI와 일치하는 제외 패턴이 있습니까? yes인 경우 건너 뛰십시오.
  2. serviceServiceMapping에 from 끝점의 엔드포인트 URI와 일치하는 일치 항목이 있습니까? yes인 경우 검색된 서비스 이름을 사용하십시오.
  3. serviceServiceMapping에 현재 경로의 경로 ID와 일치하는 일치 항목이 있습니까? yes인 경우 검색된 서비스 이름을 사용하십시오.
  4. serviceServiceMapping에는 Exchange가 시작된 원래 경로 ID와 일치하는 항목이 있습니까? yes인 경우 검색된 서비스 이름을 사용하십시오.
  5. 서비스 이름을 찾을 수 없음, 교환은 zipkin에 의해 추적되지 않습니다.

클라이언트의 서비스 이름 매핑은 다음 규칙을 사용하여 수행됩니다.

  1. 끝점에서의 엔드포인트 URI와 일치하는 제외 패턴이 있습니까? yes인 경우 건너 뛰십시오.
  2. 메시지를 전송하는 끝점의 끝점과 일치하는 clientServiceMapping에 일치 항목이 있습니까? yes인 경우 검색된 서비스 이름을 사용하십시오.
  3. 현재 경로의 경로 ID와 일치하는 clientServiceMapping에 일치 항목이 있습니까? yes인 경우 검색된 서비스 이름을 사용하십시오.
  4. clientServiceMapping에 교환이 시작된 원래 경로 ID와 일치하는 항목이 있습니까? yes인 경우 검색된 서비스 이름을 사용하십시오.
  5. 서비스 이름을 찾을 수 없음, 교환은 zipkin에 의해 추적되지 않습니다.

383.11.1. 클라이언트 또는 서버 매핑 없음

클라이언트 또는 서버 서비스 매핑 구성이 없는 경우 CamelZipkin은 대체 모드로 실행되며 엔드포인트 uri를 서비스 이름으로 사용합니다.

위의 예에서 다음 코드를 직접 추가하는 것처럼 서비스 이름이 정의됨을 의미합니다.

zipkin.addServerServiceMapping("activemq:queue:inbox", "activemq:queue:inbox");
zipkin.addClientServiceMapping("http:someserver/somepath", "http:someserver/somepath");

이는 권장되지는 않지만 서비스 이름 매핑 없이 빠르게 시작하고 실행합니다. 그러나 인프라에 여러 시스템이 있는 경우 사람이 읽을 수 있는 서비스 이름을 사용하는 것을 고려해야 하며, camel 엔드포인트 uris를 사용하는 대신 매핑해야 합니다.