Red Hat AMQ
A lightweight, high-performance, robust messaging platform
Red Hat AMQ features
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.
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.
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.
Build streams-based applications using the Apache Kafka ecosystem
Capture, stream, and process vast amounts of data using a scalable, fault-tolerant, and highly available streaming data platform to deliver cloud-native and event-driven streaming applications.
Red Hat's Apache Kafka ecosystem provides an array of supporting cloud services for Red Hat OpenShift Streams for Apache Kafka, including OpenShift Connectors, OpenShift Service Registry, AMQ Streams, schema designer, and a native integration with Red Hat OpenShift. Learn how to improve your productivity and reduce the complexity of managing and configuring Apache Kafka.
AMQ Components
AMQ Streams
Based on the Apache Kafka project, AMQ Streams 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.