Book Image

Hands-On Microservices with Django

By : Tieme Woldman
Book Image

Hands-On Microservices with Django

By: Tieme Woldman

Overview of this book

Are you a Django developer looking to leverage microservices to create optimized and scalable web applications? If yes, then this book is for you. With microservices, you can split an application into self-contained services, each with a specific scope running asynchronously while collectively executing processes. Written by an experienced Python developer, Hands-On Microservices with Django teaches you how to develop and deploy microservices using Django and accompanying components such as Celery and Redis. You'll start by learning the principles of microservices and message/task queues and how to design them effectively. Next, you’ll focus on building your first microservices with Django RESTful APIs (DFR) and RabbitMQ, mastering the fundamentals along the way. As you progress, you’ll get to grips with dockerizing your microservices. Later, you’ll discover how to optimize and secure them for production environments. By the end of this book, you’ll have the skills you need to design and develop production-ready Django microservices applications with DFR, Celery/RabbitMQ, Redis, and Django's cache framework.
Table of Contents (18 chapters)
Free Chapter
1
Part 1:Introducing Microservices and Getting Started
5
Part 2:Building the Microservices Foundation
11
Part 3:Taking Microservices to the Production Level

Orchestrating Microservices with Celery and RabbitMQ

The producers and workers in the microservices architecture need a task queue mechanism to communicate. In most cases, this is one-way communication where a producer offloads a task to a worker. But workers can send back a response if your application requires such a scenario. We can choose from a range of task queue managers, but Celery and RabbitMQ are dominant in the Django universe, so we apply them in our microservices application.

In this chapter, you’ll learn the foundation of task queues, including different task queue modes such as Publish-Subscribe and routing. Next, you’ll learn about the most common Django task queue managers, Celery and RabbitMQ. Then, you’ll learn how to build asynchronous tasks (microservices), including the response scenario. And you’ll master how to orchestrate producer-worker communication with Celery and RabbitMQ. Finally, you’ll learn how to monitor tasks...