Масштабирующий MQTT-потребитель для многих издателей

Я новичок в Spring-Integration и слежу за решением следующей задачи.

Мы пытаемся создать MQTT-Consumer (на основе адаптера входящего канала mqtt), который получает сообщения по 7 темам от 50 издателей.

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

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

Сейчас думаю об использовании канала executor с количеством обработчиков сообщений (собственных конвертеров) для каждой темы. Затем они передадут свои результаты в соответствующие очереди, что позволит обрабатывать и распространять сообщения в пакетном режиме.

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

0 ответов

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