384.11. 映射规则


服务器的服务名称映射使用以下规则进行

  1. 是否存在与 from 端点的 endpoint uri 匹配的 exclude 模式?如果是,则跳过。
  2. serviceServiceMapping 中是否存在匹配,它与 from 端点的 endpoint uri 匹配?如果是,则使用找到的服务名称
  3. serviceServiceMapping 中是否存在与当前路由的路由 ID 匹配的匹配项?如果是,则使用找到的服务名称
  4. serviceServiceMapping 中是否存在匹配,它与交换启动的原始路由 id 匹配?如果是,则使用找到的服务名称
  5. 没有找到服务名称,交换不会被 zipkin 跟踪

客户端的服务名称映射使用以下规则进行

  1. 是否存在与 from 端点的 endpoint uri 匹配的 exclude 模式?如果是,则跳过。
  2. clientServiceMapping 中是否存在匹配,它与将消息发送到的端点 uri 匹配?如果是,则使用找到的服务名称
  3. clientServiceMapping 中是否存在与当前路由的路由 ID 匹配的匹配项?如果是,则使用找到的服务名称
  4. clientServiceMapping 中是否存在匹配,它与交换启动的原始路由 id 匹配?如果是,则使用找到的服务名称
  5. 没有找到服务名称,交换不会被 zipkin 跟踪

384.11.1. 没有客户端或服务器映射

如果没有配置客户端或服务器服务映射,CamelZipkin 以回退模式运行,并使用 endpoint uris 作为服务名称。

在上例中,这意味着服务名称会被定义,就像您自己添加以下代码一样:

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

这不是推荐的方法,但可以在不执行任何服务名称映射的情况下快速启动并运行。但是,当您跨基础架构有多个系统时,您应该考虑使用人类可读的服务名称,而是映射到使用 camel 端点 uris。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.