文章目錄
- 0.前言
- 1.功能架構
- 2.技術架構
- 3.技術棧
- 4.開發步驟
0.前言
當前市場的在線教育模式多種多樣,包括:B2C、C2C、B2B2C等業務模式,學成在線采用B2B2C業務模式,即向
企業或個人提供在線教育平臺提供教學服務,老師和學生通過平臺完成整個教學和學習的過程,市場上類似的平臺
有:網易云課堂、騰訊課堂等,學成在線的特點是IT職業課程在線教學。
1.功能架構
學成在線包括門戶、學習中心、教學管理中、社交系統、系統管理等功能模塊。
2.技術架構
學成在線采用當前流行的前后端分離架構開發,由用戶層、UI層、微服務層、數據層等部分組成,為PC、App、
H5等客戶端用戶提供服務。下圖是系統的技術架構圖:
業務流程舉例:
1、用戶可以通過pc、手機等客戶端訪問系統進行在線學習。
2、 系統應用CDN技術,對一些圖片、CSS、視頻等資源從CDN調度訪問。
3、所有的請求全部經過負載均衡器。
4、對于PC、H5等客戶端請求,首先請求UI層,渲染用戶界面。
5、客戶端UI請求服務層獲取進行具體的業務操作。
6、服務層將數據持久化到數據庫。
各模塊說明如下:
3.技術棧
下圖是項目技術架構的簡圖,通過簡圖了解項目所使用的技術棧。
學成在線服務端基于Spring Boot構建,采用Spring Cloud微服務框架。
持久層:MySQL、MongoDB、Redis、ElasticSearch
數據訪問層:使用Spring Data JPA 、Mybatis、Spring Data Mongodb等
業務層:Spring IOC、Aop事務控制、Spring Task任務調度、Feign、Ribbon、Spring AMQP、Spring Data Redis
等。
控制層:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等
微服務治理:Eureka、Zuul、Hystrix、Spring Cloud Config等
4.開發步驟
項目是基于前后端分離的架構進行開發,前后端分離架構總體上包括前端和服務端,通常是多人協作并行開發,開
發步驟如下:
1、需求分析
梳理用戶的需求,分析業務流程
2、接口定義
根據需求分析定義接口
3、服務端和前端并行開發
依據接口進行服務端接口開發。
前端開發用戶操作界面,并請求服務端接口完成業務處理。
4、前后端集成測試
最終前端調用服務端接口完成業務。