Hello,
Coming back to the discussion on the apache-activemq IRC channel of
possible Topics and Queues when using ActiveMQ’s MQTT service.
First a bit of history then. We’ve have been using multiple Java-based
services for quite a bit of years now utilizing ActiveMQ’s JMS Topic and
the occasional JMS Queues. Recently, we started expanding by adding a
multitude of Node.js-based services to the mix. At some point these
services also needed the capability of sending messages. As we already
were using ActiveMQ for JMS Messaging with our Java-based services it
seemed obvious to stick with ActiveMQ even for our Node.js-based
services. However, they can’t leverage JMS evidently. Therefore we
picked MQTT and enabled MQTT on our ActiveMQ server next to the already
supported JMS. As these Node.js services have been deployed stand-alone
up until now, there was no harm in using Topics for this approach.
However, we are no looking into deploying these Node.js-based services
in a clustered fashion now. (We have an Amazon ECS Cluster to which we
want to deploy multiple Containers of the same Node.js-based services.
This imposes a problem as for certain messages we only want a single
subscriber of a particular service to receive and handle that message.
Hence we were leaning towards using Queues instead of Topics for these
scenarios. Unfortunately as member dejanb pointed out, MQTT doesn’t
support Queues.
So our question still remains similar. How can we utilize both JMS Topic
(1-to-N) and Queue-like (1-to-1) behaviour for both our Java-based and
Node.js-based services using ActiveMQ? (We’d like to possible share
these Topics and Queues among the Java- and Node.js-based services.) Is
there another approach we should be looking into from a Node.js-based
perspective and move away from MQTT and potentially use something
different that ActiveMQ provides?
Thanks,
Jeroen...
- Using Topics and Queues for both Java-based and Node... Jeroen van Ooststroom
-