Что происходит внутри, когда мы создаем несколько экземпляров стандартной и рабочей версии?

Допустим, мы создаем стандартную и рабочую вершины. Теперь мы увеличиваем экземпляры до 2 каждый. Итак, когда, скажем, 10 пользователей запрашивают за раз, что происходило раньше и что произойдет сейчас внутри?

1 ответ

Когда приходит запрос, Vert.x циклически выбирает одну из двух вершин цикла событий, которая, как следует из названия, будет выполняться в пуле потоков цикла событий. Размер пула потоков цикла обработки событий равен удвоенному числу ЦП. В случае, если вершин больше, чем потоков EventLoop, некоторые или все потоки должны будут переключить контекст.

То же самое произойдет с рабочими вертикалями, но они запускаются в другом пуле потоков, который не ворует работу.

Vert.x будет работать так же, но в случае единственного экземпляра ему будет не из чего выбирать.

Рабочие экземпляры и пул рабочих потоков разделены. Количество потоков зависит от пула. По умолчанию число равно 20.

Другие вопросы по тегам