ActiveMQ is a popular messaging service used by distributed systems. Unlike Kafka, which is capable of handling large amounts of data, ActiveMQ is preferably used where small amounts of data are involved.
With ActiveMQ, messages can be sent either as part of a queue or as a topic. With point to point messaging, one or more consumers are connected to the queue, while the broker uses the round robin approach to direct messages to specific consumers. In subscription-based messaging, brokers broadcast messages to all consumers subscribed to the topic.
Compared to Kafka and other services, Active MQ is a good choice for applications where complex message routing is involved. The throughput isn’t high and reduces with increase in the number of concurrent clients and the amount of stored data. However, for many enterprises which don’t have use for big data processing, ActiveMQ is well suited.