What is Apache Qpid Java Broker?
Apache Qpid Java Broker is an open-source messaging system which implements the Advanced Message Queuing Protocol (AMQP). It provides transaction management, queuing, distribution, security, management, clustering, federation and heterogeneous multi-platform support. The Broker architecture comprises a number of entities as each of them are discussed below:
Virtual host: The most important entity is the Virtual host. A virtual host is an independent container in which messaging is performed. A virtual host exists in a container called a virtual host node. A virtual host node has exactly one virtual host.
Exchange: An Exchange accepts messages from a producer application and routes these to one or more Queues according to pre-arranged criteria called bindings. They exist to produce useful messaging behaviours such as fan-out. When using AMQP, the exchange is the only way ingressing a message into the virtual host. When using AMQP, the application may route messages using an exchange (to take advantage of advanced behaviours) or it may publish messages direct to a queue.
Queue: Queues are named entities that hold/buffer messages for later delivery to consumer applications.
Port: Ports accept connections for messaging and management. The Broker supports any number of ports. When connecting for messaging, the user specifies a virtual host name to indicate the virtual host to which it is to be connected.
Authentication Provider: Authentication Providers assert the identity of the user as it connects for messaging or management. The Broker supports any number of authentication providers. Each port is associated with exactly one authentication provider. The port uses the authentication provider to assert the identity of the user as new connections are received.
Access Control Provider: Access Control Provider allows the abilities of users (or groups of users) to be restrained. A Broker can have zero or one access control providers.
Loggers: Loggers are responsible for the production of a log for the Broker.
Figure 1 represents the message flow through the key entities.
Figure 1 : Apache Qpid Java Broker with key entities
Why Monitor Apache Qpid Java Broker?
Apache Qpid Java Broker provides secure and reliable messaging services that manage the physical connections between a broker and its clients by providing transport for incoming and outgoing messages. By closely monitoring the target Apache Qpid Java Broker, administrators can be proactively alerted to issues in the communication between a broker and its clients that could affect the overall performance of the target system.