Большинство брокеров сообщений допускают как синхронный, так и асинхронный API.Сначала вы должны решить, какой API использовать: синхронный или асинхронный.Синхронный проще, но использует блокирующие операции ввода / вывода.Блокирующая операция блокирует поток, и вам нужно сохранить столько потоков, сколько у вас ожидающих операций ввода-вывода.Поскольку каждый поток потребляет значительный объем памяти ядра, существует естественный предел около 10000 потоков на процесс Java.Поэтому сначала оцените, можете ли вы позволить себе использовать синхронный API, и если да, используйте его.
Если количество одновременно циркулирующих сообщений в одной JVM превышает 10000, то вам нужно использовать асинхронный API и асинхронную обработку сообщений.,Актеры - только один вид асинхронных блоков обработки.Другие - это CompletableFuture из стандартной java, Observers из RxJava и других реактивных библиотек, или обычно брокеры сообщений предлагают свои собственные способы асинхронной обработки.Посмотрите на все эти асинхронные библиотеки и выберите то, что вам больше нравится.