0

假设我们创建了一个标准的verticle和一个worker verticle。现在我们将实例增加到 2 个。那么,当我们说 10 个用户一次请求之前发生了什么以及现在内部会发生什么?

4

1 回答 1

1

当请求进来时,Vert.x 将以循环方式获取两个事件循环 Verticle 之一,顾名思义,它将在事件循环线程池上运行。事件循环线程池的大小是 x2 个 CPU。如果 Verticle 多于 EventLoop 线程,一些或所有线程将不得不进行上下文切换。

工人 Verticle 也会发生同样的情况,但它们在不同的线程池上运行,这不是工作窃取。

Vert.x 的工作方式相同,但在单个实例的情况下,它没有任何可供选择的东西。

工作实例和工作线程池是分开的。有多少线程取决于池。默认情况下,数量为 20。

于 2022-01-10T09:42:48.353 回答