我们正在轮询来自 kafka 的消息(使用 Executor Thread)并将其放在 vert.x 事件总线上。最终,verticles(non-workers) 使用来自 eventbus 的这些消息。
我们测量了每条消息从 vertx eventbus 发送到它之后所花费的时间在峰值时可以达到 4 秒。
由于某种原因,有时事件总线需要很长时间才能使用消息但没有显示线程块错误,因此我们无法判断是什么延迟了它
奇怪的是我们没有看到任何事件循环块警告。我们还能做什么?cpu/ram 都很好。唯一可以实际显示的指标是:
但它没有告诉我们任何事情(不知道事件总线处理程序如何与事件循环延迟相关联)
我们应该检查什么来了解是什么让我们从 vert.x 事件总线的事件循环消耗变慢?