с опцией имени очереди (queue) и подписки по шаблону в контроллере все равно обрабатывают все пакеты под шаблон и пофиг на имя очереди...
И отправка пакетов судя по логу самого сервиса не добавляет имя очереди.
Или встроенный в натс транспорт настолько примитивен?
потому что NATS так не работает. в NATS подписка работает только по шаблону и "обрабатывает все пакеты под шаблон" – это by design. очередь queue – это неудачный выбор названия для фичи, правильнее было бы назвать group – потому что общее имя очереди определяет группу обработчиков, в которой можно направить сообщение только одному из них, а не всем сразу. поэтому по логике – если есть разные обработчики, которые должны каждый обработать сообщение по 1 разу – у них разные queue, а если мне надо балансировать нагрузку между 10 идентичными инстансами, я им всем даю одно значение queue и каждое сообщение рандомно получает только один из них. такой системы с exchange и подпиской queue на сообщения по паттернам, как в рэббите, такого в NATS нет…
Обсуждают сегодня