Golang将构建实时交互式SAAS云.pdf
Golang to build a real-time
interactive SaaS Cloud
2019.4.23 董海冰
Agenda
● What’s TutorMeet+
● Why use Golang
● WebRTC Example
● Problems encountered
● About SaaS
● Q&A
What‘s TutorMeet+ ?
Student
Desktop Virtual Classroom
PC
Teacher
PAD
TM+
phone
Teaching
Materials Parents
TutorMeet+
Feature
● Langugage :Golang、C++、ReactJs ;
● Video :VP8、VP9、H264、AV1 ;
● Audio :OPUS、AAC ;
● Deployment :Docker、Kubernetes、
Hybird cloud ;
● Support :1v1、1vN、NvN (连麦 )
Why use Golang ?
● History :
Python or C (C++ ) ?
Golang advantage
● Efficiency (多 )
● Performance (快 )
● Engineering (好 )
● Less is more (省 )
WebRTC Overview
WebRTC Protocol Stack
WebRTC
WebSocket
WebSocket Example
WebSocket Example
WebRTC Flow
WebRTC Example:Front end
WebRTC Example:Front end
// Receive message from the other peer via the signalling server
socket.on('message', function (message){
console.log('Received message:', message);
if (isJsonString(message)){