0

根据文档和一些测试,我看到 Vert.x 以循环方式为 Vertical 实例排队消息,例如,如果我有 2 个“通知”工作者垂直实例并且有 10 条消息传入,

实例 #1 进程 - 消息 #1,3,5,7,9

实例 #2 进程 - 消息 #2,4,6,8,10

即使实例#1 更快地完成了所有消息的处理(由于某些决策流程),它仍然没有收到实例#2 的待处理消息。这似乎是默认的排队行为。

有没有办法在消息到达时将其更改为动态排队而不是简单的循环?

4

1 回答 1

0

您正在寻找的是一个工作窃取池,我认为 Vert.x 目前不支持它。

在我看来,这可能是因为 Vert.x 具有线程安全保证,因为请求的所有处理程序都应该在同一个事件循环上运行。

于 2022-02-11T11:40:58.987 回答