Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/swapno963/django_inginx
Useing InginX for reverse proxy, load balancer, security and caching layer.
https://github.com/swapno963/django_inginx
Last synced: 26 days ago
JSON representation
Useing InginX for reverse proxy, load balancer, security and caching layer.
- Host: GitHub
- URL: https://github.com/swapno963/django_inginx
- Owner: Swapno963
- Created: 2024-10-31T05:48:22.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-10-31T05:50:07.000Z (about 2 months ago)
- Last Synced: 2024-10-31T06:24:38.765Z (about 2 months ago)
- Size: 0 Bytes
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Django Microservices with Nginx Reverse Proxy
This project demonstrates a Django-based microservices architecture, using Nginx as a reverse proxy, load balancer, SSL terminator, and caching layer. With Nginx, this setup achieves enhanced performance, security, and scalability for Django microservices.
## Features
- **Reverse Proxy**: Nginx routes client requests to specific Django services based on endpoint paths, enabling multiple services to be accessed via a single endpoint.
- **Load Balancing**: Distributes incoming traffic across multiple instances of each Django service, preventing overload on any single instance.
- **SSL Termination**: Handles SSL/TLS encryption, reducing the computational load on Django services.
- **Caching**: Caches static files and frequently requested HTTP responses, reducing load and improving response times.
- **Rate Limiting & Security**: Provides rate limiting and request validation to help prevent abuse and DoS attacks.
- **Service Discovery & Routing**: Routes requests based on service availability in dynamic microservice setups, allowing seamless interaction with scaling services.## Project Structure
The project structure includes multiple Django services, with Nginx managing request distribution:
```plaintext
project-root/
├── service1/ # Django Service 1
├── service2/ # Django Service 2
├── nginx/
│ ├── conf.d/
│ │ └── default.conf # Nginx configuration for reverse proxy, load balancing, etc.
│ └── Dockerfile # Dockerfile for Nginx
├── docker-compose.yml # Docker Compose file to orchestrate services
└── README.md # Project documentation
```