8

Distributed Python Microservices with Kubernetes

A Python-based microservices system featuring JWT authentication, API gateway, RabbitMQ messaging, MongoDB storage, and Kubernetes deployments.

Architecture Diagram Service Overview Kubernetes Setup

Distributed Python Microservices with Kubernetes is a fully containerized and scalable microservices architecture built using Python (FastAPI) and orchestrated with Kubernetes. The system includes core services like authentication, API gateway, async messaging with RabbitMQ, and file storage using MongoDB GridFS.


πŸ“Œ Features

  • πŸ” Auth Service – JWT-based user authentication
  • 🌐 API Gateway – Centralized routing for services
  • πŸ“¨ RabbitMQ – Event-driven asynchronous communication
  • πŸ—„ MongoDB & GridFS – Document & file storage
  • πŸ”„ Interservice Communication – HTTP and Event-based
  • ☸️ Kubernetes – Scalable deployment using StatefulSet, Ingress

πŸš€ Setup & Installation

1. Clone the Repository

git clone https://github.com/Sonupandit9693/distributed-python-k8s.git
cd distributed-python-k8s

2. Start with Docker Compose

docker-compose up --build

3. Deploy to Kubernetes

kubectl apply -f k8s/

πŸ—οΈ Architecture Overview

  • Auth Service: JWT-based authentication and user session management
  • API Gateway: Request routing and API aggregation
  • Converter Service: Handles transformation or computation logic
  • Notification Service: Manages email/SMS notifications via events

πŸ›  Technologies Used

  • πŸš€ FastAPI (Python)
  • 🐳 Docker & ☸️ Kubernetes
  • πŸ“¬ RabbitMQ
  • πŸƒ MongoDB with GridFS
  • πŸ”— gRPC and REST APIs for service communication

🀝 Contributing

Contributions are welcome! Feel free to fork the project, submit pull requests, or open issues.


πŸ“„ License

This project is licensed under the MIT License.

Developed by Sonu Kumar to demonstrate scalable, event-driven microservice architecture using Python and Kubernetes.