Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Clusters:

    • Apache ActiveMQ Artemis provides very configurable state-of-the-art clustering model where messages can be intelligently load balanced between the servers in the cluster, according to the number of consumers on each node, and whether they are ready for messages.

    • Apache ActiveMQ Artemis also has the ability to automatically redistribute messages between nodes of a cluster to prevent starvation on any particular node.

  • Bridges and routing:

    • Apache ActiveMQ Artemis bridges can be configured with filter expressions to only forward certain messages, and transformation can also be hooked in.

    • Apache ActiveMQ Artemis also allows routing between queues to be configured in server side configuration. This allows complex routing networks to be set up forwarding or copying messages from one destination to another, forming a global network of interconnected brokers.

  • Server JVM Settings

    • The run scripts set some JVM settings for tuning the garbage collection policy and heap size. We recommend using a parallel garbage collection algorithm to smooth out latency and minimise large GC pauses.

    • By default Apache ActiveMQ Artemis runs in a maximum of 1GiB of RAM. To increase the memory settings change the -Xms and -Xmx memory settings as you would for any Java program.

  • Broker configuration file

    • The configuration for the Apache ActiveMQ Artemis core server is contained in broker.xml. This is what the FileConfiguration bean uses to configure the messaging server.

  • Address Model

  • Addressing Model

  • Apache ActiveMQ Artemis has a unique addressing model that is both powerful and flexible and that offers great performance. The addressing model comprises three main concepts: addresses, queues, and routing types.

    • Address

      • An address represents a messaging endpoint. Within the configuration, a typical address is given a unique name, 0 or more queues, and a routing type.

    • Queue

      • A queue is associated with an address. There can be multiple queues per address. Once an incoming message is matched to an address, the message will be sent on to one or more of its queues, depending on the routing type configured. Queues can be configured to be automatically created and deleted.

    • Routing Types

      • A routing type determines how messages are sent to the queues associated with an address. An Apache ActiveMQ Artemis address can be configured with two different routing types.

      • Table 1. Routing Types

    • If you want your messages routed to...Use this routing type...

    • A single queue within the matching address, in a point-to-point manner.Anycast

    • Every queue within the matching address, in a publish-subscribe manner.Multicast

      • By default is Anycast

The following has to be added to the etc/broker.xml file of the broker created:

<address-setting match="/#">

<auto-create-addresses>true</auto-create-addresses>
<auto-delete-addresses>true</auto-delete-addresses>
<default-address-routing-type>MULTICAST</default-address-routing-type>

</address-setting>


AMPQ Clients

  • QPid Proton:

    • Java JMS 1.1 Client (Apache QPid JMS based on Qpid Proton)

    • Reactive C++ Client (Apache Qpid Proton)

    • Reactive Python Client (Apache Qpid Proton)

...