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.