- Formats: Classroom, Live Online, Onsite
- Length: 2 Days
This intensive two-day, instructor-led course in VMware® vFabric RabbitMQ™ teaches you how to install, configure, and develop messaging applications against RabbitMQ.
The course begins with RabbitMQ installation and general configuration. It continues with developing messaging applications by using the Java APIs.
The course also addresses more advanced topics like clustering for highly available deployments and performance strategies.
Each module is accompanied by lab exercises that provide hands-on experience.
|Objectives:||• Install and configure RabbitMQ.
• Activate and use plug-ins like the Web management console.
• Implement messaging patterns and applications with Java.
• Set up a cluster of RabbitMQ nodes.
• Choose and configure an appropriate high availability configuration.
• Tune and optimize RabbitMQ for better performance.
• Secure RabbitMQ.
|Intended Audience:||• Developers
|Prerequisites:||Knowledge of Core Java or any enterprise programming language|
|Outline:||1 Introduction to Messaging and AMQP
• Benefits of messaging and asynchronous systems
• Why Java Message Service (JMS) is not enough
• Advanced Message Queuing Protocol (AMQP) model
• Differences between AMQP and JMS
2 RabbitMQ Product Presentation
• Product description and main capabilities
• Installation, directory structure, and configuration
• Durability with the Mnesia database
• Web management console
• Multitenancy with virtual hosts
• Logging with the firehose tracer
3 Development and Integration
• Client bindings (Java, C#, Python, Ruby, and so on)
• Focus on the Java binding
• Higher-level abstractions (Spring AMQP integration, Pika)
• AMQP routing with exchanges and queues
• Messaging patterns
4 Reliable Messaging Development
• Durability at the queue, exchange, and message levels
• AMQP and JMS transactions
• Transaction and acknowledgment
• Best practices for bulletproof message flows
• Scalable messaging architecture with clustering
• Setup of a cluster
• Disk and RAM nodes
• Administration of a cluster
• Load balancing
6 High Availability
• Node failure handling
• Mirrored queues
• Slave synchronization
• Active-passive HA with warrens
• Failover on the client side
• Effects of configuration and client code options on performance
• Memory-based flow control
• Best practices
• Authenticating RabbitMQ on LDAP
• Exposing AMQP functionality using the STOMP protocol
• Integrating different brokers with Shovel
• Federating RabbitMQ instances through WAN
• Why secure AMQP communication?
• User management
• Securing RabbitMQ at the protocol-level (SSL/SASL)
• Setting permissions using virtual hosts