领课在线教育系统架构升级看看更新了哪些内容-阿里云开发者社区

开发者社区> 微服务> 正文

领课在线教育系统架构升级看看更新了哪些内容

简介: 领课教育致力于打造一个全行业都适用的在线教育系统。除了商业版,团队也积极地推进教育系统的开源项目

领课教育致力于打造一个全行业都适用的在线教育系统。除了商业版,团队也积极地推进教育系统的开源项目,希望能给做开发的朋友们带来一些帮助:

开源项目链接:https://gitee.com/roncoocom/roncoo-education

领课教育系统-商业版-最新架构如下

系统架构1.png

注册中心

早期领课教育系统(以下简称为:系统)使用的就是Eureka,Netflix 出品用于实现服务注册和发现的工具,目前该组件已经进入维护阶段不再更新。现在系统使用了Nacos,阿里巴巴出品一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。

系统架构2.png

配置中心

早期系统使用的是Spring Cloud Config,无界面管理,需要使用消息队列才能实现配置更新,目前系统使用Nacos既可以当注册中心又可以当配置中心,采用Netty保持TCP长连接实现配置刷新,拥有方便快捷的管理界面。

系统架构3.png

服务网关

早期系统使用是的Zuul,同样是Netflix 出品,用的是1.x的版本,Zuul 2.x 在底层上有了很大的改变,使用了异步无阻塞式的 API,性能改善明显,不过现在 Spring Cloud 没集成 Zuul 2.x。目前系统使用的是Spring Cloud Gateway,构建于 Spring 5+基于 Spring Boot 2.x 响应式的、非阻塞式的 API,同时它支持 websockets,和 Spring 框架紧密集成。

系统架构4.png

分布式调度

开源版采用的是传统的调度方案,较为简单,商业版采用了XXL-JOB作为分布式任务调度平台,其核心设计目标是开发迅速、学习简单、轻量级、易扩展。

系统架构5.jpg

分布式事务

分布式事务是分布式系统中一个永远绕不过去的话题,也是一个棘手的问题。目前领课教育系统采用了Seata作为解决方案,Seata 是一款Alibaba开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata 将为用户提供了 AT、TCC、SAGA 和 XA 事务模式,为用户打造一站式的分布式解决方案。

系统架构6.jpg

限流控制

早期系统使用的是Hystrix,同样是Netflix 出品,但是目前官方声明不再开发新功能。Spring官方不在推荐在后面的版本继续使用,目前领课教育系统采用Sentinle作为解决方案,Sentinel 是面向分布式服务架构的流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统自适应保护等多个维度来帮助您保障微服务的稳定性。

系统架构7.jpg

系统功能体验请登录:
https://edu.roncoo.net/experience

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
微服务
使用钉钉扫一扫加入圈子
+ 订阅

构建可靠、高效、易扩展的技术基石

其他文章