|
27 | 27 |
|
28 | 28 | ## 🚀 **Quick Start** |
29 | 29 |
|
30 | | -### Start Complete System (Recommended) |
| 30 | +### 🐳 Docker Deployment (Recommended) |
| 31 | +```bash |
| 32 | +# Build and start containerized cluster with monitoring |
| 33 | +./scripts/docker-deploy.sh deploy |
| 34 | + |
| 35 | +# Or pull from Docker Hub and start |
| 36 | +docker-compose -f docker-compose.cluster.yml up -d |
| 37 | + |
| 38 | +# Test the cluster |
| 39 | +./scripts/docker-deploy.sh test |
| 40 | +``` |
| 41 | + |
| 42 | +### 🔧 Local Development |
31 | 43 | ```bash |
32 | 44 | # Start both cluster and monitoring stack |
33 | 45 | ./scripts/start-system.sh |
34 | 46 |
|
35 | 47 | # Or start with clean data |
36 | 48 | ./scripts/start-system.sh --clean |
37 | | - |
38 | | -# Access points: |
39 | | -# - Cluster nodes: http://localhost:9080, 9081, 9082 |
40 | | -# - Grafana: http://localhost:3000 (admin/admin123) |
41 | | -# - Elasticsearch: http://localhost:9200 |
42 | 49 | ``` |
43 | 50 |
|
44 | | -### Start Individual Components |
| 51 | +### 📊 Access Points |
| 52 | +- **HyperCache Nodes**: http://localhost:9080, 9081, 9082 |
| 53 | +- **Grafana Dashboards**: http://localhost:3000 (admin/admin123) |
| 54 | +- **Elasticsearch**: http://localhost:9200 |
| 55 | +- **Docker Hub**: `docker pull hypercache/hypercache:latest` |
| 56 | + |
| 57 | +## 🔥 **Deployment Options** |
45 | 58 |
|
46 | | -#### HyperCache Cluster Only |
| 59 | +### 🐳 **Docker (Production-Ready)** |
| 60 | +```bash |
| 61 | +# Pull from Docker Hub |
| 62 | +docker pull hypercache/hypercache:latest |
| 63 | + |
| 64 | +# Start 3-node cluster with monitoring |
| 65 | +docker-compose -f docker-compose.cluster.yml up -d |
| 66 | + |
| 67 | +# Kubernetes deployment |
| 68 | +kubectl apply -f k8s/hypercache-cluster.yaml |
| 69 | +``` |
| 70 | + |
| 71 | +### 🔧 **Local Development** |
47 | 72 | ```bash |
48 | 73 | # Build and start 3-node cluster |
49 | 74 | ./scripts/build-and-run.sh cluster |
|
52 | 77 | ./scripts/build-and-run.sh run node-1 |
53 | 78 | ``` |
54 | 79 |
|
55 | | -#### Monitoring Stack Only |
| 80 | +### 📊 **Monitoring Stack Only** |
56 | 81 | ```bash |
57 | 82 | # Start Elasticsearch, Grafana, and Filebeat |
58 | 83 | docker-compose -f docker-compose.logging.yml up -d |
@@ -100,6 +125,14 @@ curl http://localhost:9080/health |
100 | 125 | - **Snapshot Support**: Point-in-time recovery with configurable intervals |
101 | 126 | - **Durability Guarantees**: Configurable sync policies (fsync, async, periodic) |
102 | 127 |
|
| 128 | +### **Containerized Deployment** |
| 129 | +- **Docker Hub Integration**: Pre-built multi-arch images (amd64, arm64) |
| 130 | +- **Docker Compose Support**: One-command cluster deployment with monitoring |
| 131 | +- **Kubernetes Ready**: StatefulSet manifests with service discovery |
| 132 | +- **Minimal Attack Surface**: Scratch-based images, non-root user |
| 133 | +- **Auto-scaling**: Dynamic cluster membership and load balancing |
| 134 | +- **CI/CD Pipeline**: Automated builds and security scanning |
| 135 | + |
103 | 136 | ### **Advanced Memory Management** |
104 | 137 | - **Per-Store Eviction Policies**: Independent LRU, LFU, or session-based eviction per store |
105 | 138 | - **Smart Memory Pool**: Pressure monitoring with automatic cleanup |
@@ -166,15 +199,15 @@ HyperCache/ |
166 | 199 | ┌─────────────────────────────────────────────────┼─────────────────────────────────────────────────┐ |
167 | 200 | │ │ │ |
168 | 201 | ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ ┌──────────────────┐ ┌─────────────────┐ |
169 | | -│ Memory Pool │ │ Data Storage │ │ Cuckoo Filter │ │ Hash Ring │ │ Gossip Node │ |
170 | | -│ (Pressure │ │ + Persistence │ │ (Probabilistic │ │ (Consistent │ │ Discovery │ |
171 | | -│ Monitoring) │ │ (AOF+Snapshot) │ │ Operations) │ │ Hashing) │ │ & Failover │ |
| 202 | +│ Memory Pool │ │ Data Storage │ │ Cuckoo Filter │ │ Hash Ring │ │ Gossip Node │ |
| 203 | +│ (Pressure │ │ + Persistence │ │ (Probabilistic │ │ (Consistent │ │ Discovery │ |
| 204 | +│ Monitoring) │ │ (AOF+Snapshot) │ │ Operations) │ │ Hashing) │ │ & Failover │ |
172 | 205 | └─────────────────┘ └──────────────────┘ └─────────────────┘ └──────────────────┘ └─────────────────┘ |
173 | 206 | │ │ │ │ │ |
174 | 207 | └─────────────────────────┼─────────────────────────┼─────────────────────────┼─────────────────────────┘ |
175 | 208 | │ │ │ |
176 | 209 | ┌─────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ |
177 | | -│ MONITORING STACK │ |
| 210 | +│ MONITORING STACK │ |
178 | 211 | ├─────────────────┬──────────────────┬─────────────────┬──────────────────┬─────────────────┬─────────────────┤ |
179 | 212 | │ Filebeat │ Elasticsearch │ Grafana │ Health API │ Metrics │ Alerting │ |
180 | 213 | │ (Log Shipper) │ (Log Storage) │ (Dashboards) │ (Diagnostics) │ (Performance) │ (Monitoring) │ |
|
0 commit comments