전체 아키텍처 개요
flowchart LR subgraph Client A[Web/CLI Uploader] end subgraph BE[Spring Boot API] B1[UploadController] B2[DownloadController] B3[Auth/RBAC] B4[Metrics/Actuator] end subgraph Storage S1[(Object Storage or Local FS)] S2[(MongoDB: Metadata)] S3[(Redis: Upload Session, PreSigned, Streams, Rate)] end subgraph Worker W1[Thumbnail Worker] end A -->|10MB chunk PUT| B1 B1 -->|write chunk| S1 B1 <--> |session state| S3 B1 --> |metadata| S2 B1 --> |publish XADD| S3 W1 <--> |XREAD/ACK| S3 W1 --> |thumbnail| S1 B2 --> |issue pre-signed| S3 A -->|GET with token| S1 BE --> B4
Mermaid
복사