Jax-rs 和 amqp zipkin 集成

Jax-rs and amqp zipkin integration

我一直在 Internet 深处漫游,但我发现自己对目前找到的示例并不满意。有人可以指出或告诉我一个将 zipkin 跟踪与 jaxrs 客户端和 amqp 客户端集成的良好起点吗?

我的场景非常简单,我希望这个任务是微不足道的。我们有一个基于微服务的架构,是时候开始跟踪我们的请求并从全局角度了解我们的服务间依赖关系以及请求的实际情况(我们确实有指标,但我想要更多!)。通信是通过 jax-rs 自动生成的客户端完成的,我们使用 rabbit 模板进行消息传递。

我见过与 jaxrs 的勇敢集成,但它们有点简单化。我的 zipkin 服务器是一个使用 stream-rabbit 的 spring 启动迷你应用程序,因此使用 rabbitmq 发送 zipkin 数据。

提前致谢。

在与 Marcin Grzejszczak 和 Adrien Cole(zipkin 和 sleuth creators/active 开发人员)讨论后,我最终创建了一个 Jersey 过滤器,充当 sleuth 和 brave 之间的桥梁。关于 AMQP 集成,添加了一个新的 @StreamListener,它带有 zipkin 格式跨度的条件(使用 headers)。以 zipkin 格式向 sleuth exchange 发送消息将是有效的并由侦听器使用。对于 javascript (zipkin-js),我最终创建了一个新的 AMQP 记录器,它将 zipkin 跨度发送到确定的交换。如果有人最终阅读了本文并需要更多详细信息,欢迎您与我联系。