What Is Use Of Activemq Instead Of Other Options Like Database?
Answer»
Activemq is used to reliably communicate between two distributed processes. It can store messages in a database to communicate between to processes, but as soon as the message is received you'd have to delete the message. That means a row INSERT and delete for each message. When you try to scale that up communicating thousands of messages per second, databases TEND to fall over.
Message ORIENTED middleware like ActiveMQ on the other hand are build to handle those use cases. They asume that messages in a healthy system will be deleted very quickly and can do optimizations to avoid the overhead. It can also push messages to consumers instead of a consumer having to poll for NEW message by doing a SQL query. This further reduces the latency involved in processing new messages being sent into the system.