上课服务

我要开发同款
codingSweeney2024年04月13日
48阅读
开发技术mysqlvueandroidjava
所属分类rocketmq、websocket、SpringCloud

作品详情

项目描述:魔力耳朵的主要产品 --- 一款三端(win/mac/ipad)均可使用的客户端软件,国外外教老师和国内学生通过该客户端进行实时在线英语教学,主要以1v4为主,也包含1v2的模式,包括课堂的预复习/定级测试等等。项目的客户端主要通过第三方音视频sdk实时共享老师与学生音视频。而上课系统主要负责课堂内所有事件以及整体流程的统一控制。通过服务端/前端/客户端共同搭建起一个英语在线学习平台。
上课系统后端服务主要采用java语言进行开发维护,springboot作为服务的后端框架。服务部署为三地(华北,美西,新加坡)独立部署,通过rocketmq进行课堂消息通讯,大致流程为通过lua+nginx+redis的流量定向分发将用户与教室均匀合理的分发到不同机器并建立长链接,课堂内所有操作通过ws传到服务端,服务端通过rocketmq将老师与学生的课堂操作连接起来,并最终通过ws按各自处理规则下发到教室,从而完成整堂课程。
我主要参与:我参与了服务后期的ws长链框架的替换与代码重构,从基于stomp的ws框架切换到基于netty的netty-socketio长链接框架。
技术点有:
1、redis。
2、Rocketmq/rabbitMq。
3、stomp协议。
4、netty-socketio。
5、Lua+nginx流量定向分发。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论