Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/MaximKing1/CDN
🚀 Blazing Fast S3 Powered CDN ✨ Powered By Fastify, S3 Buckets & Docker!
https://github.com/MaximKing1/CDN
cdn cdn-manager
Last synced: about 1 month ago
JSON representation
🚀 Blazing Fast S3 Powered CDN ✨ Powered By Fastify, S3 Buckets & Docker!
- Host: GitHub
- URL: https://github.com/MaximKing1/CDN
- Owner: MaximKing1
- License: mit
- Created: 2022-02-16T21:14:09.000Z (almost 3 years ago)
- Default Branch: main
- Last Pushed: 2023-10-11T22:19:21.000Z (about 1 year ago)
- Last Synced: 2024-08-02T05:22:25.069Z (4 months ago)
- Topics: cdn, cdn-manager
- Language: JavaScript
- Homepage: https://maximking1.github.io/CDN/
- Size: 927 KB
- Stars: 4
- Watchers: 1
- Forks: 2
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-blazingly-fast - CDN - 🚀 Blazing Fast S3 Powered CDN ✨ Powered By Fastify, S3 Buckets & Docker! (JavaScript)
README
# 🚀 WasiCDN
Blazing Fast S3 Powered CDN, Powered By Fastify, S3 Compatible Buckets & Docker!Core DockerHub: https://hub.docker.com/r/maximking19/wasicdn-core
Slave Service DockerHub: https://hub.docker.com/r/maximking19/wasicdn-slave**Features:**
• Fastify Powered Backend
• Built in Load Balancer which directs the connection to the closest server to the user
• Each Slave CDN pulls files from your selected S3 Bucket or local system, each slave location has a copy and distributes them to users.
• Directs users to the closest server by checking the IP Location and sending them to the correct way## CDN Replication
```
↓ ( Wasabi S3 ) ↓ --> Fetches files from the S3 Bucket
↓ ||| ↓
↓ ||| ↓
↓ / \ ↓
↓ / \ ↓
↓ / \ ↓
↓[ UK Server ][ US Server ] ↓ --> Replicates the files from the S3 Bucket to each server (Replicates at every location)
↓ \ / ↓
↓ \ / ↓
↓ \ / ↓
↓ --------------------- ↓
↓ | Delivery System | ↓ --> The delivery system handles requests
↓ --------------------- ↓
```## How it works
```
↓ ( Request ) ↓
↓ | b | ↓
↓ | d | ↓
↓ --------------------- ↓
↓ | Delivery System | ↓ --> Checks the request IP, and forwards there request to the closest server (Checks the IP's location to determine cloest server)
↓ --------------------- ↓
↓ ||| ↓
↓ --------------------- ↓
↓ | Load Balancer | ↓ --> Redirects the request to the least stressed server in the location (UK1: 50%, UK2:25% - Would forward to UK2 as lowest System load)
↓ --------------------- ↓ --> Load Balancer Not Realeased (W.I.P)
↓ ||| ↓
↓ --------------------- ↓
↓ | CDN | ↓ --> Serves the requested file on the cloest server to them
↓ --------------------- ↓
↓ ||| ↓
↓ / \ ↓
↓ / \ ↓
↓ / \ ↓
↓ [ Data ] [ File ] ↓ --> Dispatches both the Data and CDN File to the destination
↓ \ / ↓
↓ \ / ↓
↓ \ / ↓
↓ ------------------- ↓
↓ Destination ↓ --> File received! :)
↓ ------------------- ↓[![FOSSA Status](https://app.fossa.com/api/projects/git%2Bgithub.com%2FMaximKing1%2FCDN.svg?type=large)](https://app.fossa.com/projects/git%2Bgithub.com%2FMaximKing1%2FCDN?ref=badge_large)