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...