维多利少儿英语主要专注3-12岁实境英语教学,通过有趣的学习方式,寓教于乐,帮助孩子提高英语水平。平台包括移动端APP 以及微信小程序。维多利少儿英语app拥有背单词,练听力,学口语等等功能,生动有趣的少儿英语在线学习平台,丰富多彩的学习模式、趣味十足的奖励制度,让孩子愿意学英语、主动学英语、爱上学英语。微信小程序主要提供课程在线浏览、课程智能推荐、在线挑选心仪课程以及在线购买支付、优惠劵领用、会员积分等功能。
本项目后端服务是基于 SpringCloud + SpringBoot 的 SaaS型微服务脚手架,具备用户管理、资源权限管理、网关统一鉴权、XSS防跨站攻击、自动代码生成、多存储系统、分布式事务、分布式定时任务等多个模块,支持多业务系统并行开发,支持多服务并行开发。
核心技术采用Nacos、Fegin、Ribbon、Zuul、Hystrix、JWT Token、Mybatis、SpringBoot、Seata、Sentinel、RabbitMQ、FastDFS等主要框架和中间件。前端涉及技术:vue、element-ui、uniapp等。
基于Nacos来实现的服务注册与发现,使用使用Feign来实现服务互调,通过JWT的方式来加强服务之间调度的权限验证,保证内部服务的安全性。将服务保留的rest进行代理和网关控制,除了平常经常使用的node.js、nginx外,Spring Cloud系列的zuul和ribbon,可以帮我们进行正常的网关管控和负载均衡。其中扩展和借鉴国外项目的扩展基于JWT的Zuul限流插件,方面进行限流。因为采取了服务的分布,为了避免服务之间的调用“雪崩”,采用了Hystrix的作为熔断器,避免了服务之间的“雪崩”,利用Zipkin实现微服务的全链路性能监控, 从整体维度到局部维度展示各项指标,将跨应用的所有调用链性能信息集中展现,可方便度量整体和局部性能,并且方便找到故障产生的源头,生产上可极大缩短故障排除时间。集成了阿里的分布式事务中间件:seata,以 高效 并且对业务 0侵入 的方式,解决 微服务 场景下面临的分布式事务问题。