आर्किटेक्चर अवलोकन
सिस्टम आर्किटेक्चर
┌──────────────────────────────────────────────────────────────────┐
│ उपयोगकर्ता इंटरफ़ेस परत │
│ Web UI (React) · S3 क्लाइंट (rclone, AWS CLI) · WebDAV │
└──────────────┬──────────────────────┬────────────────┬───────────┘
│ │ │
┌──────▼──────┐ ┌──────▼──────┐ ┌─────▼──────┐
│ REST API │ │ S3 API │ │ WebDAV │
│ :5212 │ │ :5213 │ │ :5214 │
└──────┬──────┘ └──────┬──────┘ └─────┬──────┘
│ │ │
┌──────▼──────────────────────▼────────────────▼──────┐
│ Gin राउटर │
│ मिडलवेयर: CORS → Auth → Rate Limit │
└──────────┬───────────────────────────────────────────┘
│
┌──────────▼───────────────────────────────────────────┐
│ सेवा परत │
│ Auth · फ़ाइल प्रबंधन · स्पेस प्रबंधन · शेयर │
└──────────┬───────────────────────────────────────────┘
│
┌──────────▼───────────────────────────────────────────┐
│ स्टोरेज एब्स्ट्रैक्शन │
│ इन-मेमोरी फ़ाइलसिस्टम (Inode + ब्लॉक-आधारित) │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────────┐ │
│ │ RAM │ │ VRAM │ │ Swap/Persist │ │
│ │ ड्राइवर │ │ ड्राइवर │ │ परत (वैकल्पिक) │ │
│ └────┬─────┘ └────┬─────┘ └──────────────────────┘ │
└───────┼─────────────┼─────────────────────────────────┘
│ │
┌───────▼─────────────▼─────────────────────────────────┐
│ डिवाइस प्रबंधन परत │
│ mmap / VirtualAlloc / CUDA / NVML │
└───────────────────────────────────────────────────────┘पोर्ट मैप
| पोर्ट | सेवा | विवरण |
|---|---|---|
| 5212 | REST API + Web UI | HTTP API और फ्रंटएंड के लिए मुख्य पोर्ट |
| 5213 | S3 API | AWS S3-संगत प्रोटोकॉल |
| 5214 | WebDAV | WebDAV प्रोटोकॉल |
तकनीकी स्टैक
| परत | तकनीक |
|---|---|
| बैकएंड | Go 1.22+, Gin, ent, golang.org/x/net/webdav |
| फ्रंटएंड | React 18, TypeScript, Ant Design 5, Zustand, Vite |
| डेटाबेस | SQLite / PostgreSQL (केवल मेटाडेटा) |
| RAM | mmap (Linux/macOS) / VirtualAlloc (Windows) |
| VRAM | CUDA + NVML (स्टब, एकीकरण के लिए तैयार) |