alibaba / alibaba-rsocket-broker

Alibaba RSocket Broker: Mesh, Streaming & IoT

Home Page:https://alibroker.info

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Tracing拓展实现

hupeiD opened this issue · comments

commented

现在我们的RSocket Broker默认支持Zipkin进行链路追踪,在Broker转发时对Metadata特殊处理。但如果不想用zipkin,想要接入其他链路追踪的框架,比如SkyWalking或者pinpoint,查看源码的实现似乎比较麻烦,有没有更好的方式呢,或者有没有考虑将RSocketRequesterRpcZipkinProxy再抽象一层。

@hupeiD 目前的实现主要是参考 https://github.com/rsocket/rsocket/blob/master/Extensions/Tracing-Zipkin.md 规范实现。

有两种方式可以解决:

  • SkyWalking等trace产品添加对Zipkin的兼容,如SkyWalking就包含 Zipkin receiver,可以接收Zipkin的trace
  • RSocket协议中添加一个新的metadata数据格式,如Tracing-SkyWalking

个人是建议采用Zipkin Agent这种方案,Zipkin的格式也不复杂,新的链路跟踪框架和产品兼容Zipkin也不麻烦。此外这种方式可以兼容现存的各种Zipkin对接框架,如Spring Cloud Zipkin等,开发者也不用调整对应的代码实现。