What is ActiveMQ used for - can we apply messaging concept using a Database?

前端 未结 8 675
花落未央
花落未央 2021-01-30 00:31

I looked it up and it used to send messages between 2 systems.
But why? Why wouldn\'t you just use a Database?
There must be some feature that ActiveM

8条回答
  •  日久生厌
    2021-01-30 00:57

    ActiveMQ, or in general all Message Oriented Middleware (MOM) implementations are designed for the purpose of sending messages between two applications, or two components inside one application.

    Essentially, MOM and databases share a common foundation in that they provide transactional and persistent data storage to can read and write from.
    The big difference is the usage pattern - where databases are very generic and optimized for complex searching over multiple tables, MOM is optimized for reading messages, one at a time, in a FIFO like fashion [Queue].

    JMS, which is an API ActiveMQ implements, is an important cornerstone in Java Enterprise applications. This makes messages share a rather common format and semantic, which makes integration between different applications easier.

    Of course, there are a lot of more detailed features that are only in ActiveMQ, wire protocols like OpenWire, STOMP and MQTT, JMS, EIP together with Apache Camel, message patterns like "request/reply" and "publish/subscribe", JMS Bridging, clustering ("network of brokers"), which allow scaling and distributions, etc.
    You should read up on those topics a bit if you are interested since they are rather large.

提交回复
热议问题