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...

Reply via email to