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

Technical requirements

Our sample microservices application will use fuzzy string matching to match new addresses to existing base addresses to keep our address collection uncluttered. We’ll use fuzzy string matching based on the Levenshtein Distance metric. This metric is a measure of the similarity between two strings and calculates the minimum number of operations needed to make two strings identical.

As you might expect, the Python community has already developed pip packages that provide this type of string matching. We’ll apply the rapidfuzz package, which you install with this command in your virtual environment:

$ pip install rapidfuzz

In the Creating and running asynchronous tasks section, we’ll look into the details and parameters for rapidfuzz, but if you want more information, check this URL: https://github.com/rapidfuzz/RapidFuzz.

Furthermore, Redis and RabbitMQ must be running for the microservices we’ll be creating. You already...