kubernetes - vert.x 事件总线消息的 Istio 请求跟踪
问题描述
Vert.x 和 kubernetes 齐头并进。如果我使用 istio 作为服务网格,Zipkin 的请求跟踪是否能够跟踪通过事件总线完成的通信?
客户端->[rest/http1]-> 服务-A->[eventbus]-> 服务-B
istio 是否能够跟踪通过事件总线完成的请求?
跟踪页面说 headers 需要在 http 或 grpc 中传播——但是 eventbus 通过 tcp 发送消息——这是否意味着 istio 将无法跟踪请求并显示可视化工具 [瀑布图和所有服务]
解决方案
您的示例中的跟踪仅适用于通过 HTTP 协议向服务 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 编码到消息正文中并在接收方正确反序列化。
推荐阅读
- discord.py - Discord.py 机器人音频流中断
- botframework - App Studio 正在生成 1.9 版清单,该清单未通过验证并停止侧面加载
- c# - 创建远程桌面服务子会话
- python - 如何在模型的 save() 中保存选择
- python - 使用 2D 输入数组和 3D 输出数组训练模型
- javascript - element.remove() 或 element.parentNode.removeChild(element) 更快吗?
- r - 如何在将 4 年数据集添加到数据集时计算一天的最高温度?
- azure - Azure Sentinel 参与者角色在 Azure 上的管理角色中不可用
- python - pyodbc 查询返回多个反斜杠
- javascript - 为两个按钮触发 AJAX 单一功能