Можно ли использовать ActiveMQ Artemis в качестве «адаптера протокола»?

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

Поскольку MQTT не поддерживает вытягивающую модель, в настоящее время я изучаю возможные службы очередей для использования. ActiveMQ Artemis привлек мое внимание из-за различных поддерживаемых протоколов, в том числе MQTT и REST-интерфейса.

Что я не могу четко увидеть в документации, так это то, может ли Artemis просто служить единым брокером для нескольких очередей сообщений или действительно ли ее можно использовать для преобразования между ними. До сих пор планировалось, что MQTT-клиент будет подписан на тему «обработки», которая будет собирать все опубликованные в нем сообщения и помещать их в очередь для опроса, где работники будут приходить их забирать. Кажется, что есть вероятность, что Artemis сможет это сделать без запуска дополнительных служб, но я совершенно не уверен, правильно ли я интерпретирую документацию.

Итак, зададим простой вопрос: могу ли я оснастить Artemis таким образом, чтобы я мог публиковать сообщения MQTT, а затем опрашивать их из очереди, используя, например, REST-интерфейс?

1
задан 7 March 2017 в 18:51
1 ответ

Как правило, брокеры сообщений используются для интеграции приложений. Таким образом, вы обычно можете отправлять сообщения с помощью одного протокола и использовать их с помощью другого. Это относится к ActiveMQ Artemis. Вы, безусловно, можете опубликовать сообщение с помощью MQTT, а затем использовать его с помощью интерфейса REST.

При этом я бы рекомендовал использовать протокол STOMP, а не интерфейс REST. Протокол STOMP стандартизирован, тогда как интерфейс REST уникален для ActiveMQ Artemis. STOMP очень прост и может использоваться в большинстве (если не во всех) местах, где будет использоваться клиент обмена сообщениями REST. Многие брокеры используют STOMP, поэтому, если вам когда-нибудь понадобится перейти на другого брокера, работа будет значительно проще.

0
ответ дан 17 June 2020 в 14:42