ProductsDesktop Server For Scientific Computing For IBM POWER For IBM System z For SAP Business Applications Red Hat Network Satellite ManagementExtended Update Support High Availability High Performance Network Load Balancer Resilient Storage Scalable File System Smart Management Extended Lifecycle SupportRed Hat JBoss Developer Studio Portfolio Edition Web Framework Kit Application Platform Web Server Data Grid Portal Platform Red Hat JBoss A-MQ Red Hat JBoss Fuse SOA Platform BRMS Data Services Platform JBoss Operations Network JBoss Community or JBoss enterprise
SolutionsThe new IT Why open hybrid cloud? Why Red Hat Public cloud Cloud resource library Private cloud Infrastructure-as-a-Service (IaaS) Platform-as-a-Service (PaaS) Cloud applications and workloadsApplication development Business process management Enterprise application integration Interoperability Operational efficiency Security VirtualizationSolaris to Red Hat Enterprise Linux Migration overview Migrate from your UNIX platform How to migrate to Red Hat Enterprise Linux Upgrade to the latest Red Hat Enterprise Linux release JBoss Enterprise Middleware Benefits of migrating to Red Hat Enterprise Linux Migration services Start a conversation with Red Hat
TrainingClassroom training Red Hat Online Learning Virtual training Remote classroom training On-site team training Online Learning LabsPopular and new courses Red Hat JBoss Administration curriculum Core System Administration curriculum Red Hat JBoss Middleware Development curriculum Advanced System Administration curriculum Linux Development curriculum Cloud Computing, Virtualization, and Storage curriculum
MRG Messaging FAQ
- What is MRG Messaging?
- What is AMQP?
- Why are there two messaging brokers in MRG Messaging: a Java broker and a C++ broker?
- What are some of the specific optimizations MRG Messaging will have for Linux? Isn't this crippling MRG Messaging on other platforms?
- What languages does MRG Messaging support? Does it support JMS?
- How does MRG Messaging relate to other parts of Red Hat Enterprise MRG?
What is MRG Messaging?
MRG Messaging is an open source, high performance, reliable messaging distribution that implements the AMQP specification. It provides reliable messaging (pub-sub, event, and large message transfer), supporting reliability, clustering, and durable messaging. It is based on the Qpid project, currently in incubation at Apache.
What is AMQP?
AMQP stands for Advanced Message Queuing Protocol and is a specification for how commodity messaging and middleware works. Its primary aim is to create an open standard for messaging in order to create open and interoperable messaging. AMQP defines both a wire-level protocol for messaging (the transport layer) and the higher-level semantics for messaging (the functional layer). It is completely free to use and is being developed by the AMQP Working Group. AMQP is currently will be submitted to a standards body at some point by the AMQP Working Group. For more information, see http://amqp.org.
Why are there two messaging brokers in MRG Messaging: a Java broker and a C++ broker?
MRG Messaging is committed to offering messaging on multiple platforms. The Java broker enables MRG Messaging to run on a variety of systems, including Windows, Unix, and Linux through Java's cross-platform support. The C++ broker is 100% compatible with the Java broker and primarily runs on Linux. It is necessary to take advantage of optimizations that Red Hat is building into Linux, like real time Linux, asynchronous IO, and DMA.
What are some of the specific optimizations MRG Messaging will have for Linux? Isn't this crippling MRG Messaging on other platforms?
MRG Messaging aims to be the leading messaging distribution on ALL platforms - not just Linux. MRG Messaging's Java broker delivers the highest performance and reliability across multiple platforms. However, as Linux is adding many features and optimizations that increase messaging performance, and as Linux is itself open source, ensuring that MRG Messaging takes advantage of these features makes sense. These features and optimizations include:
- Leveraging the realtime work in the Linux kernel to deliver predictable messaging performance.
- DMA OFED Network support for native Infiniband support.
- RDMA support for journal, provided high performance durable messaging.
MRG Messaging is not crippled in any way on non-Linux platforms - there is nothing in the code that degrades performance on other platforms. However, other platforms might not be able to take advantage of synergistic optimizations with MRG Messaging due to their being proprietary or not providing the required features.
What languages does MRG Messaging support? Does it support JMS?
Red Hat messaging aims to be language neutral. Currently, it has clients for Java, C++, Python, C#, and Ruby. Perl support is coming soon as well. The Java client supports a JMS interface. The Python & Ruby clients are particularly interesting because they are extremely small and make available full messaging services to a light-weight scripting environment.
How does MRG Messaging relate to other parts of Red Hat Enterprise MRG?
MRG Messaging is highly optimized to run on top of the included MRG Realtime kernel for deterministic, low-latency messaging. Additionally, Red Hat is leveraging messaging to add a standardized messaging API to MRG Grid to schedule from any platform and language onto a grid that spans from local and idle workstations to remote clouds. Furthermore, MRG's grid capabilities will be able to leverage MRG's large messaging capabilities to transport entire virtual machines efficiently so that machines can execute any task regardless of their host environments.