Red Hat AMQ

A lightweight, high-performance, robust messaging platform

Overview

AMQ provides fast, lightweight, and secure messaging for Internet-scale applications. AMQ components use industry-standard message protocols and support a wide range of programming languages and operating environments. AMQ gives you the strong foundation you need to build modern distributed applications.

AMQ Overview

 

Red Hat AMQ Features

red hat amq

 

Massively-scalable, distributed, and high performance data streaming

AMQ enables a massively scalable, distributed, and high performance data streaming platform. AMQ Streams, based on the Apache Kafka project, provides an event streaming backbone that allows microservices and other application components to exchange data with extremely high throughput and low latency.

red hat amq broker

 

Messaging for enterprise applications

AMQ offers the rich feature set and reliability that enterprise customers depend on. AMQ Broker is a pure-Java multiprotocol message broker, with fast message persistence and advanced high availability modes. AMQ Clients is a suite of messaging APIs that lets you add message-based integration to any application.

interconnect

 

Global Messaging

AMQ gives you the power to build a worldwide messaging backbone. AMQ Interconnect provides new messaging capabilities for deploying fault-tolerant messaging networks that connect clients and brokers into one seamless fabric. AMQ Clients is a suite of messaging APIs that lets you add message-based integration to any application.

 

 

 

 

AMQ is a flexible and capable suite of messaging servers and clients that work together to enable you to build advanced distributed applications.

Focused on standards - AMQ implements the Java JMS 1.1 and 2.0 API specifications. AMQ components support the ISO-standard AMQP 1.0 message protocol and the MQTT, STOMP, and WebSocket protocols.

Lightweight and embeddable - Small-footprint components allow AMQ to go anywhere. AMQ Broker is deployable standalone or in a Java EE container. The event-driven AMQ clients are ideal for integration with existing applications.

Centralized, standards-based management - The AMQ console provides a single view into your deployment. In addition to centralized web-based management, AMQ supports standard management protocols for integration with your existing tools.

AMQ Components

AMQ Streams

AMQ Streams is a Java/Scala publish-subscribe-based messaging broker. Based on the Apache Kafka project, the broker offers a distributed backbone that allows microservices and other applications to share data with extremely high throughput and extremely low latency.

  • Publish and subscribe - Many to many dissemination in a fault tolerant, durable manner

  • Long-term data retention - Efficiently stores data for immediate access in a manner limited only by disk space

  • Advanced queueing - Last value queues, message groups, topic hierarchies, and large message support

  • Replayable events - Serves as a repository for microservices to build in memory copies of source data, up to any point in time

  • Partition messages for scalability - Allows for organizing messages to maximum concurrent access

AMQ Streams is based on Strimzi and Apache Kafka projects.

AMQ Broker

AMQ Broker is a pure-Java multiprotocol message broker. It’s built on an efficient, asynchronous core, with a fast native journal for message persistence and the option of shared-nothing state replication for high availability.

  • Persistence - A fast, native-IO journal or a JDBC-based store

  • High availability - Shared store or shared-nothing state replication

  • Advanced queueing - Last value queues, message groups, topic hierarchies, and large message support

  • Multiprotocol - AMQP 1.0, MQTT, STOMP, OpenWire, and HornetQ Core

  • Integration - Full integration with Red Hat JBoss EAP

AMQ Broker is based on the Apache ActiveMQ Artemis project.

AMQ Interconnect

AMQ Interconnect is a high-speed, low-latency AMQP 1.0 message router. You can deploy multiple AMQ Interconnect routers to build a fault-tolerant messaging network that connects your clients and brokers into one seamless fabric.

  • Disaster recovery - Deploy redundant network routers across geographies

  • Advanced routing - Control the distribution and processing of messages on your network

  • Integration - Connect clients, brokers, and standalone services

  • Management - Streamlined management makes large deployments practical

AMQ Interconnect is based on the Apache Qpid Dispatch project.

AMQ Online

Developers can use Red Hat AMQ Online to provision messaging when and where they need it with zero installation, configuration, and maintenance. The developers serve themselves from an easy to-use browser console. Administrators can also configure a cloud-native, multi-tenant messaging service in the cloud or on-premise. Their teams can then serve themselves messaging. Multiple development teams can provision the brokers and queues they need from a simple console, without requiring each team to install, configure, deploy, maintain, or patch any software..

  • Low or no administrative costs - Consolidate operations in one small team so developers can serve themselves

  • Easy provisioning - Work from a browser with no installation or configuration required

  • Multi-tenancy - Installation is managed as a unit, but instances are protected from each other

  • Flexible multi-language connectivity - Integrate systems and adapt to market demands and emerging technologies

  • Open standards - Provide interoperability between other vendor’s messaging clients and products providing protection from vendor lock-in

AMQ Online is based on the enmasse project.

AMQ Clients

AMQ Clients is a suite of AMQP 1.0 messaging APIs that allow you to make any application a messaging application. It includes both industry-standard APIs such as JMS and new event-driven APIs that make it easy to integrate messaging anywhere.

  • New event-driven APIs - Fast, efficient messaging that integrates everywhere

  • Industry-standard APIs - JMS 1.1 and 2.0

  • Broad language support - C++, Java, JavaScript, Python, and .NET

  • Wide availability - Linux, Windows, and JVM-based environments

AMQ Clients is based on the following projects.

Features, Upstreams and Community projects

AMQ supports different message persistence methods.

These are essential tools to operate your messaging infrastructure continually, without having to worry about losing messages or during broker failures. The methods include:

  • File journaling, either using JavaNIO storage (with the caveat that you use at least Java v6) or Linux Asynchronous I/O. This latter has better performance and requires at least a Linux v2.6 kernel. AMQ Broker supports both NFS v.4 and GFS2 file systems.
  • JDBC message storage. You need to be using a relatively recent version of PostgreSQL, MySQL or Apache Derby.
  • Memory-mapped storage.

Multiple management interfaces.

AMQ has three different management tools, each has varying features:

  • Web-based console.
  • Command-line interface using Apache ActiveMQ Artemis.
  • A management API using either the Java Management Extensions or JMS APIs.

AMQ supports a wide variety of standards and protocols.

This includes Java Message Service, Secure Sockets Layer, Streaming Text Oriented Messaging Protocol and Advanced Message Queueing Protocol. Part of this support includes near-real-time, publish/subscribe and store-and-forward messaging models.