天天看點

領課線上教育系統架構更新看看更新了哪些内容

領課教育緻力于打造一個全行業都适用的線上教育系統。除了商業版,團隊也積極地推進教育系統的開源項目,希望能給做開發的朋友們帶來一些幫助:

開源項目連結:

https://gitee.com/roncoocom/roncoo-education

領課教育系統-商業版-最新架構如下

領課線上教育系統架構更新看看更新了哪些内容

注冊中心

早期領課教育系統(以下簡稱為:系統)使用的就是Eureka,Netflix 出品用于實作服務注冊和發現的工具,目前該元件已經進入維護階段不再更新。現在系統使用了Nacos,阿裡巴巴出品一個更易于建構雲原生應用的動态服務發現、配置管理和服務管理平台。

領課線上教育系統架構更新看看更新了哪些内容

配置中心

早期系統使用的是Spring Cloud Config,無界面管理,需要使用消息隊列才能實作配置更新,目前系統使用Nacos既可以當注冊中心又可以當配置中心,采用Netty保持TCP長連接配接實作配置重新整理,擁有友善快捷的管理界面。

領課線上教育系統架構更新看看更新了哪些内容

服務網關

早期系統使用是的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 架構緊密內建。

領課線上教育系統架構更新看看更新了哪些内容

分布式排程

開源版采用的是傳統的排程方案,較為簡單,商業版采用了XXL-JOB作為分布式任務排程平台,其核心設計目标是開發迅速、學習簡單、輕量級、易擴充。

領課線上教育系統架構更新看看更新了哪些内容

分布式事務

分布式事務是分布式系統中一個永遠繞不過去的話題,也是一個棘手的問題。目前領課教育系統采用了Seata作為解決方案,Seata 是一款Alibaba開源的分布式事務解決方案,緻力于提供高性能和簡單易用的分布式事務服務。Seata 将為使用者提供了 AT、TCC、SAGA 和 XA 事務模式,為使用者打造一站式的分布式解決方案。

領課線上教育系統架構更新看看更新了哪些内容

限流控制

早期系統使用的是Hystrix,同樣是Netflix 出品,但是目前官方聲明不再開發新功能。Spring官方不在推薦在後面的版本繼續使用,目前領課教育系統采用Sentinle作為解決方案,Sentinel 是面向分布式服務架構的流量控制元件,主要以流量為切入點,從流量控制、熔斷降級、系統自适應保護等多個次元來幫助您保障微服務的穩定性。

領課線上教育系統架構更新看看更新了哪些内容

系統功能體驗請登入:

https://edu.roncoo.net/experience