Architecture
Architecture Documentation#
Deep dive into ncps internals and design.
Guides#
- Components - System components and their interactions
- Storage Backends - Local and S3 storage implementation
- Request Flow - Detailed request processing flow
Overview#
ncps is designed as a modular caching proxy with pluggable storage and database backends.
Key Design Principles#
- Modularity - Separate concerns (storage, database, locks, server)
- Flexibility - Support multiple backends for storage and database
- Scalability - Scale from single instance to high availability
- Simplicity - Easy to deploy and operate
System Architecture#
┌─────────────────────────────────────┐
│ HTTP Server (Chi) │
└───────────────┬─────────────────────┘
│
┌───────────────▼─────────────────────┐
│ Cache Layer │
│ - Request handling │
│ - Upstream fetching │
│ - Signing │
└───┬─────────────┬───────────────────┘
│ │
▼ ▼
┌────────┐ ┌────────────┐
│Storage │ │ Database │
│Backend │ │ Backend │
└────────┘ └────────────┘Related Documentation#
- Components - Detailed component breakdown
- Storage Backends - Storage implementation
- Request Flow - Request processing
- Developer Guide - Contributing