Дроссельные сообщения в Vertx eventbus - PullRequest
0 голосов
/ 23 апреля 2020

Поскольку eventbus в Vertx создан для асинхронной передачи сообщений, возможно ли снизить скорость обработки этих сообщений? Если это так, можем ли мы добиться использования рабочих вершин или нам нужно создать отдельную группу потоков. Дело в том, что шина событий может быть в состоянии поставить в очередь миллион сообщений (я предполагаю количество), где последующие операции, выполняемые под рабочими / потоками, не должны затопляться и в конечном итоге приводить к сбоям. Пожалуйста, немного света.

1 Ответ

0 голосов
/ 23 апреля 2020

Рабочие никогда не будут затоплены EventBus, так как обработчики будут обрабатывать только одно сообщение за раз.

Однако может случиться так, что вам может не хватить памяти, если вы производите буквально миллионы необработанных сообщений.

Обычно это не так, но вы можете попытаться решить эту проблему, используя Counter в SharedData:

https://vertx.io/docs/apidocs/io/vertx/core/shareddata/Counter.html

...