大型網站技術構架
時間:2023-04-19 00:14:01 | 來源:網站運營
時間:2023-04-19 00:14:01 來源:網站運營
大型網站技術構架:
六業(yè)通用平臺業(yè)務流程舉例:1、用戶可以通過pc、手機等客戶端訪問系統(tǒng)進行在線學習。2、 系統(tǒng)應用CDN技術,對一些圖片、CSS、視頻等資源從CDN調度訪問。3、所有的請求全部經過負載均衡器。4、對于PC、H5等客戶端請求,首先請求UI層,渲染用戶界面。5、客戶端UI請求服務層獲取進行具體的業(yè)務操作。 6、服務層將數(shù)據(jù)持久化到數(shù)據(jù)庫。大型網站技術架構功能描述1. 用戶層用戶層描述了本系統(tǒng)所支持的用戶類型包括:pc用戶、app用戶、h5用戶。pc用戶通過 瀏覽器訪問系統(tǒng)、app用戶通過android、ios手機訪問系統(tǒng),H5用戶通過h5頁面訪問系 統(tǒng)。2. CDNCDN全稱Content Delivery Network,即內容分發(fā)網絡,本系統(tǒng)所有靜態(tài)資源全部通過 CDN加速來提高訪問速度。系統(tǒng)靜態(tài)資源包括:html頁面、js文件、css文件、image圖 片、pdf和ppt及doc教學文檔、video視頻等。3.負載均 衡系統(tǒng)的CDN層、UI層、服務層及數(shù)據(jù)層均設置了負載均衡服務,上圖僅在UI層前邊標注 了負載均衡。 每一層的負載均衡會根據(jù)系統(tǒng)的需求來確定負載均衡器的類型,系統(tǒng)支持 4層負載均衡+7層負載均衡結合的方式,4層負載均衡是指在網絡傳輸層進行流程轉發(fā), 根據(jù)IP和端口進行轉發(fā),7層負載均衡完成HTTP協(xié)議負載均衡及反向代理的功能,根據(jù) url進行請求轉發(fā)。4. UI層UI層描述了系統(tǒng)向pc用戶、app用戶、h5用戶提供的產品界面。根據(jù)系統(tǒng)功能模塊特點 確定了UI層包括如下產品界面類型: 1)面向pc用戶的門戶系統(tǒng)、學習中心系統(tǒng)、教學 管理系統(tǒng)、系統(tǒng)管理中心。 2)面向h5用戶的門戶系統(tǒng)、學習中心系統(tǒng)。 3)面向app 用戶的門戶系統(tǒng)、學習中心系統(tǒng)未在上圖標注,在app項目中有詳細說明。5.微服務 層微服務層將系統(tǒng)服務分類三類:前端服務、后端服務及系統(tǒng)服務。 前端服務:主要為學 習用戶提供學習服務。 后端服務:主要為管理用戶提供教學管理服務。 系統(tǒng)服務:公 共服務,為系統(tǒng)的所有微服務提供公共服務功能。 服務網關:提供服務路由、負載均 衡、認證授權等服務。6. 數(shù)據(jù)層數(shù)據(jù)層描述了系統(tǒng)的數(shù)據(jù)存儲的內容類型,持久化的業(yè)務數(shù)據(jù)使用MySQL和MongoDB 保存,其中MongoDB中主要保存系統(tǒng)日志信息。 消息隊列:存儲系統(tǒng)服務間通信的消 息,本身提供消息存取服務,與微服務層的系統(tǒng)服務連接。 索引庫:存儲課程信息的索 引信息,本身提供索引維護及搜索的服務,與微服務層的系統(tǒng)服務連接。 緩存:作為系 統(tǒng)的緩存服務,存儲課程信息、分類信息、用戶信息等,與微服務層的所有服務連接。 文件存儲:提供系統(tǒng)靜態(tài)資源文件的分布式存儲服務,文件存儲服務器作為CDN服務器 的數(shù)據(jù)來源,CDN上的靜態(tài)資源將最終在文件存儲服務器上保存多份。 流媒體服務: 作為流媒體服務器,存儲所有的流媒體文件。7.外部系 統(tǒng)接口1)微信、QQ、微博登錄接口,本系統(tǒng)和微信、QQ、微博系統(tǒng)對接,用戶輸入微信、 QQ、微博的賬號和密碼即可登錄本系統(tǒng)。 2)微信、QQ、微博分享接口,本系統(tǒng)和微 信、QQ、微博系統(tǒng)對接,可直接將本系統(tǒng)的課程資源信息分享到微信、QQ、微博。 3)支付寶、微信、網銀支付接口,本系統(tǒng)提供支付寶、微信、網銀三種支付接口。 4)短信接口,本系統(tǒng)與第三方平臺對接短信發(fā)送接口。 5)郵件接口,本系統(tǒng)需要連 接第三方的smpt郵件服務器對外發(fā)送電子郵件。 6)微信公眾號,本系統(tǒng)與微信公眾號 平臺接口,用戶通過微信公眾號訪問H5頁面。 7)點播、直播,前期視頻點播與直播采 用第三方服務方式,本系統(tǒng)與第三方點、直播服務對接,對外提供視頻點播與直播服 務。 8)OSS存儲 ,前期靜態(tài)資源文件的存儲采用第三方服務方式,本系統(tǒng)與第三方提 供的OSS存儲服務對接,將系統(tǒng)的靜態(tài)資源文件存儲到第三方提供的OSS存儲服務器 上。 9)CDN,本系統(tǒng)與第三方CDN服務對接,使用CDN加速服務來提高本系統(tǒng)的訪問 速度。8. DevOpsDevOps(英文Development和Operations的組合)是一組過程、方法與系統(tǒng)的統(tǒng)稱, 用于促進開發(fā)(應用程序/軟件工程)、技術運營和質量保障(QA)部門之間的溝通、 協(xié)作與整合。本項目供了許多開發(fā)、運營、維護支撐的系統(tǒng),包括: Eureka服務治理 中心:提供服務治理服務,包括:服務注冊、服務獲取等。 Spring Cloud Con?g服務 配置管理中心:提供服務配置管理服務,包括:配置文件更新、配置文件下發(fā)等。 Hystrix Dashboard服務熔斷監(jiān)控:監(jiān)控熔斷的請求響應時間、成功率等 。 Zipkin服務 追蹤監(jiān)控:監(jiān)控服務調用鏈路健康情況。 Jenkins持續(xù)集成服務:提供系統(tǒng)持續(xù)集成服 務。 Git/GitLab代碼管理服務:提供git代碼管理服務。 ELK日志分析服務:提供elk日志分 析服務,包括系統(tǒng)運行日志分析、告警服務。 Docker容器化部署服務:將本系統(tǒng)所有 服務采用容器化部署方式。 Maven項目管理工具:提供管理項目所有的Java包依賴、項 目工程打包服務。