Istio请求跟踪vert.x事件总线消息

时间:2018-07-01 12:02:02

标签: kubernetes microservices vert.x zipkin istio

Vert.x和kubernetes并驾齐驱。如果我将istio用作服务网格,Zipkin的请求跟踪将能够跟踪通过事件总线完成的通信?

client-> [rest / http1]-> service-A-> [eventbus]-> service-B

istio能够跟踪通过事件总线完成的请求吗?

The tracing page表示需要在http或grpc中传播标头-但是事件总线通过tcp发送消息-意味着istio将无法跟踪请求并显示可视化工具[瀑布图和所有服务的可视化]

Vertx main page

Eventbus-Vertx page

1 个答案:

答案 0 :(得分:1)

您的示例中的

跟踪仅适用于通过HTTP协议向service-A发出的请求。目前,Istio仅跟踪HTTP请求。

您可以通过在消息生产者和接收者内部创建跨度来手动跟踪事件总线消息。 IIRC vert.x事件总线不支持每条消息的标头:

https://vertx.io/docs/apidocs/io/vertx/core/eventbus/MessageProducer.html https://vertx.io/docs/apidocs/io/vertx/core/eventbus/DeliveryOptions.html

所以您必须将跟踪ID编码到消息主体中,并在接收方正确反序列化。