由于原学习记录服务数据存储不统一, 查询及统计较困难因此需实现一
个统一存储的学习记录服务。对学员及教师关注的不同维度的学习数据统计的
实现及效率优化。
使用gin框架完成接口开发, 参考MVC系统架构, 由于是纯接口架构省略
view层, 添加service层, model层用于存放orm 数据表结构体及对数据的
增删改查操作(使用gorm操作mysql)的封装作为最基础的封装层, 接口可复
用逻辑放入service层用于实现可复用业务逻辑, controller层用于路由指
定, 参数解析, 返回结构格式化等接口独有逻辑.
使用nsq及阿里云日志服务进行队列消费, 使用队列用以保证数据能快
速上报成功提高并发能力, 后续数据清洗统计等操作使用队列消费完成, 并
处理成可用于快速统计的中间表来保证部分统计的相对实时性.
多端学习记录统一存储处理, 根据不同的app既能独立查询也能合并查
询学习记录。
实时更新学员的学习报告, 使学员学完后能较快的看到自己的学习情况。
教务后台基于多个统计维度的学习报告查询使教师能较好的掌握学员的学习
情况并能为客服处理退费时提供数据支持。