Learn basic to advanced RabbitMQ techniques with the help of a realistic case study shared by the experts from CloudAMQP
▶Book Description
RabbitMQ is an open source message queuing software that acts as a message broker using the Advanced Message Queuing Protocol (AMQP). This book will help you to get to grips with RabbitMQ to build your own applications with a message queue architecture. You'll learn from the experts from CloudAMQP as they share what they've learned while managing the largest fleet of RabbitMQ clusters in the world.
Following the case study of Complete Car, you'll discover how you can use RabbitMQ to provide exceptional customer service and user experience, and see how a message queue architecture makes it easy to upgrade the app and add features as the company grows. From implementing simple synchronous operations through to advanced message routing and tracking, you'll explore how RabbitMQ streamlines scalable operations for fast distribution. This book will help you understand the advantages of message queue architecture, including application scalability, resource efficiency, and user reliability. Finally, you'll learn best practices for working with RabbitMQ and be able to use this book as a reference guide for your future app development projects.
By the end of this book, you'll have learned how to use message queuing software to streamline the development of your distributed and scalable applications.
▶What You Will Learn
⦁ Get well versed with RabbitMQ's message queue architecture and features
⦁ Discover the benefits of RabbitMQ, AMQP, and message queuing
⦁ Install and configure RabbitMQ and its plugins
⦁ Get to grips with the management console features and controls
⦁ Understand how queue and exchange types differ and when and how to use them
⦁ Get the hang of channels, routing strategies, and direct exchanges
⦁ Implement best practices to work smoothly with message queues
▶Key Features
⦁ Delve into message queues with this comprehensive RabbitMQ guide
⦁ Explore message queue architecture evolution with the help of a realistic case study
⦁ Discover strategies for improving scalability and fault tolerance of a message queue architecture
▶Who This Book Is For
If you are a professional enterprise developer or someone who just codes for fun, RabbitMQ Essentials is a valuable resource on open-source message queue architecture. Even those already familiar with microservices and messaging will discover value in reading this book for an exploration of moving forward with best practices and resource efficiency. This book will give you the push you need to get started with creating new and exciting applications or migrating existing monoliths to a microservice architecture.
▶What this book covers
- Chapter 1, A Rabbit Springs to Life, is an introduction to RabbitMQ, how to get started, and the benefits of message queues. The chapter then instructs you on how to install and configure RabbitMQ and the preparation for going forward with developing applications.
- Chapter 2, Creating a Taxi Application, discusses the creation of a simple taxi order application using RabbitMQ. By the end of this chapter, expect to have an understanding of how to connect to RabbitMQ, publishing with direct and topic exchanges, and consuming messages from queues. The chapter also explains message acknowledgments and negative acknowledgments (acks and nacks).
- Chapter 3, Sending Messages to Multiple Taxi Drivers, moves on with the CC project, providing information on the prefetch value settings, which control the number of messages that are being sent to the consumer at the same time. This chapter also covers how consumers can manually acknowledge messages, recommendations for developing a zero-message loss design, and how to receive messages without acknowledgments. The chapter closes by providing you with a good understanding of the fanout exchange.
- Chapter 4, Tweaking Message Delivery, is about message time-to-live (TTL), using message property name expiration, and other important topics about tweaking message delivery, including dead-letter exchanges and queues.
- Chapter 5, Message Routing, dives deeper into message flow, covering how to respond to a sender and how header exchange can be used to perform the property-based routing of messages. Additionally, request-response styles of interactions are also explained.
- Chapter 6, Taking RabbitMQ to Production, presents different strategies that can be used to deal with the failure of a RabbitMQ broker. Topics include clustering, quorum queues, and federation. This chapter also covers a very important aspect of RabbitMQ – log processing and data analysis.
- Chapter 7, Best Practices and Broker Monitoring, funnels down all the great information in the preceding chapters into best practices and key takeaways that can be used in real-world application development. This final chapter also explains common errors in RabbitMQ and provides strategies to put in place to monitor system performance and avoid catastrophic situations.