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)){