上一個(gè)模塊中,我們分別認(rèn)識(shí)前后端分離、如何進(jìn)行前后端分離這兩方面進(jìn)行了體育賽事比分網(wǎng)站的前后端分離開發(fā)體系。在本模塊中,我們將從部署與運(yùn)維" />

国产成人精品无码青草_亚洲国产美女精品久久久久∴_欧美人与鲁交大毛片免费_国产果冻豆传媒麻婆精东

18143453325 在線咨詢 在線咨詢
18143453325 在線咨詢
所在位置: 首頁 > 營銷資訊 > 網(wǎng)站運(yùn)營 > 從零開始設(shè)計(jì)和搭建你的體育賽事比分網(wǎng)站 (6) - 部署與運(yùn)維

從零開始設(shè)計(jì)和搭建你的體育賽事比分網(wǎng)站 (6) - 部署與運(yùn)維

時(shí)間:2022-08-27 05:45:01 | 來源:網(wǎng)站運(yùn)營

時(shí)間:2022-08-27 05:45:01 來源:網(wǎng)站運(yùn)營

上一篇:從零開始設(shè)計(jì)和搭建你的體育賽事比分網(wǎng)站 (5) - 前后端分離




上一個(gè)模塊中,我們分別認(rèn)識(shí)前后端分離、如何進(jìn)行前后端分離這兩方面進(jìn)行了體育賽事比分網(wǎng)站的前后端分離開發(fā)體系。在本模塊中,我們將從部署與運(yùn)維這方面進(jìn)行如下三個(gè)模塊的介紹。




6 部署與運(yùn)維

6.1 Docker 環(huán)境下的前后端分離部署模式

首先來介紹一下利用 docker 虛擬機(jī)的容器技術(shù),采用分布式集群部署,達(dá)到高性能、高負(fù)載、高可用的部署方案。包括了 MySQL 集群、Redis 集群、負(fù)載均衡、雙機(jī)熱備等等。其大概的部署模式可見下圖:

其中:




6.2 前后端分離部署可能出現(xiàn)的問題

6.2.1 請(qǐng)求跨域

前后端分離部署之后,前端只需要 Server 端提供 API URL,這時(shí)候會(huì)產(chǎn)生一個(gè)問題:Ajax 跨域。這時(shí)候就不能使用一般的解決跨域的方法,比如:jsonp,iframe 信使等等,因?yàn)槲覀冞€有 POST 請(qǐng)求。

我們可以使用 Http Proxy 工具類,在 BrowserSync 加入中間件判斷每一個(gè)請(qǐng)求,如果是 /api 前綴就會(huì)代理到 API Server 端,Server 端收到數(shù)據(jù)后再返回給 BrowserSync ,最后由 BrowserSync 返回給瀏覽器,從而解決跨域請(qǐng)求問題。部署時(shí)在前端 WebServer 處理端加入轉(zhuǎn)發(fā)規(guī)則,Nginx 和 Apache 都支持。

6.2.2 靜態(tài)資源路徑

如果項(xiàng)目存在用戶上傳資源的功能,比如上傳頭像等。這時(shí)候的用戶資源可以與后端項(xiàng)目放在一起,后端處理完后返回一個(gè)相對(duì)路徑給前端。如果資源較多,需要一臺(tái)單獨(dú)的服務(wù)器,那返回資源的絕對(duì)路徑即可。

6.2.3 會(huì)話問題

Web項(xiàng)目中最令人頭疼的問題是無狀態(tài)導(dǎo)致的會(huì)話問題,傳統(tǒng)項(xiàng)目都是用 Session/Cookie,但在前后端分離集群部署模式下存在缺陷。我們可以選擇主流的解決方式:Token,解決這個(gè)問題。




6.3 利用 Jenkins 實(shí)現(xiàn)自動(dòng)化部署與持續(xù)交付

6.3.1 Jenkins 介紹

Jenkins 是一個(gè)開源軟件項(xiàng)目,是基于Java開發(fā)的一種可拓展持續(xù)集成工具,主要用于持續(xù)、自動(dòng)地構(gòu)建 / 測(cè)試 / 集成軟件項(xiàng)目以及監(jiān)控一些定時(shí)執(zhí)行的任務(wù)。其前身是 Hudson,它可以方便以下人員:

6.3.2 持續(xù)集成

持續(xù)集成(Continuous integration)是一種軟件開發(fā)實(shí)踐,即團(tuán)隊(duì)開發(fā)成員經(jīng)常集成他們的工作,通過每個(gè)成員每天至少集成一次,也就意味著每天可能會(huì)發(fā)生多次集成。每次集成都通過自動(dòng)化的構(gòu)建(包括編譯,發(fā)布,自動(dòng)化測(cè)試)來驗(yàn)證,從而盡快地發(fā)現(xiàn)集成錯(cuò)誤。一個(gè)標(biāo)準(zhǔn)的持續(xù)集成系統(tǒng)能做到

部署一個(gè) CI 系統(tǒng)需要的最低要求是,一個(gè)可獲取的源代碼的倉庫,一個(gè)包含構(gòu)建腳本的項(xiàng)目。下圖概括了CI系統(tǒng)的基本結(jié)構(gòu):

該系統(tǒng)的各個(gè)組成部分是按如下順序來發(fā)揮作用的:

而 Jenkins 就是這樣一個(gè) CI 系統(tǒng)。




在本模塊中,我們分別從部署模式、部署問題、自動(dòng)化部署三個(gè)部分介紹了如何進(jìn)行網(wǎng)站部署與運(yùn)維。到此我們的《從零開始設(shè)計(jì)和搭建你的體育賽事比分網(wǎng)站》這一系列就結(jié)束啦。本系列從以下六個(gè)部分介紹了一個(gè)網(wǎng)站項(xiàng)目從設(shè)計(jì)到搭建的完整過程:

筆者沒有選擇過多的從代碼方面上講解網(wǎng)站的搭建,而使從一個(gè)宏觀的角度去介紹整個(gè)流程,讓大家能最直觀的感受到一個(gè)網(wǎng)站是如何設(shè)計(jì)與搭建的,如果大家腦海里還沒有形成網(wǎng)站搭建后的樣子,我在這里可以舉個(gè)相似的 ,大家可以這個(gè)為模板進(jìn)行網(wǎng)站的設(shè)計(jì)和搭建哦。




飛鯨體育數(shù)據(jù)







飛鯨體育數(shù)據(jù) —— 球探網(wǎng)12年匠心打造,實(shí)時(shí)、海量、可靠的體育數(shù)據(jù)服務(wù)

更多技術(shù)干貨敬請(qǐng)關(guān)注:飛鯨體育數(shù)據(jù)-本站

74
73
25
news

版權(quán)所有? 億企邦 1997-2022 保留一切法律許可權(quán)利。

為了最佳展示效果,本站不支持IE9及以下版本的瀏覽器,建議您使用谷歌Chrome瀏覽器。 點(diǎn)擊下載Chrome瀏覽器
關(guān)閉