Необходимо транслировать сообщение (один ко многим), используя платформу Anypoint MQ, в правильной последовательности (первый вход-первый выход)

#mulesoft #anypoint-platform

#mulesoft #платформа anypoint

Вопрос:

Наше требование: SAP будет публиковать сообщения для N числа подписчиков, и эти подписчики будут получать опубликованные сообщения через свой индивидуальный интервал времени.

Мы разработали решение следующим образом: создали стандартные очереди на N номеров при обмене. Транслировать каждое сообщение из SAP во все эти N очередей. Опубликованный API для каждого подписчика для извлечения сообщений из их отдельных очередей. Для добавления любой подписки очередь генерируется с помощью регистрационного API, а названия очередей имеют шаблон с именем подписчика. До этого все в порядке. Но мы видим, что сообщения, поступающие из SAP, зависят от поддержания последовательности, но стандартная очередь не может поддерживать последовательность. Если мы переключимся на очередь FIFO, мы не сможем транслировать сообщение SAP во все очереди вместе, как мы делаем это через exchan&e.

Мой вопрос заключается в том, как мы все еще можем отправлять сообщения SAP во все очереди, чтобы каждый подписчик мог читать из своего индивидуального пространства, а также мы могли поддерживать последовательность сообщений с помощью функции «первый вход-первый выход»?

Комментарии:

1. Что такое очередь Anypoint? Anypoint MQ docs.mulesoft.com/mq ?

2. @aled да. Я имел в виду Anypoint MQ. Я отредактировал заголовок для лучшего понимания. Здесь мы должны использовать MQ, потому что мы хотим, чтобы подписчики приходили и забирали сообщения из очереди, а не отправляли их абоненту с помощью вызова «точка-точка». В то же время мы хотим публиковать одни и те же сообщения во всех N очередях, чтобы подписчик мог получать их с помощью отдельных конвейеров, и, наконец, нам нужно гарантировать, что подписчик получит сообщения в том же порядке, в каком их отправил SAP.