Background
An education technology company needed to build a live streaming teaching platform capable of supporting tens of thousands of concurrent users with low-latency interaction and course recording capabilities.
Solution
System Architecture
Distributed microservices architecture:
- Frontend: Vue 3 + TypeScript + Pinia
- Live Streaming: WebRTC + SFU architecture (Janus)
- Backend: Go (Gin) microservices cluster
- Storage: MinIO (video files) + PostgreSQL
Key Features
- Live Classroom: 10,000+ concurrent viewers, real-time chat, on-stage interaction
- Course Management: Scheduling system, automated reminders, learning progress tracking
- Assignments & Exams: Online testing, auto-grading, performance analytics
- Recording & Playback: Auto-recording, cloud storage, variable speed playback
Results
- Supports 10,000+ concurrent viewers
- Streaming latency under 800ms
- System availability at 99.9%
- Served over 500,000 learners cumulatively