大型系統(tǒng)的發(fā)布部署方案(圖文)

動(dòng)態(tài)應(yīng)用句喜,是相對(duì)于網(wǎng)站靜態(tài)內(nèi)容而言,是指以c/c++沟于、php咳胃、Java、perl旷太、.net等服務(wù)器端語言開發(fā)的網(wǎng)絡(luò)應(yīng)用軟件展懈,比如論壇、網(wǎng)絡(luò)相冊(cè)供璧、交友存崖、BLOG等常見應(yīng)用。動(dòng)態(tài)應(yīng)用系統(tǒng)通常與數(shù)據(jù)庫系統(tǒng)睡毒、緩存系統(tǒng)来惧、分布式存儲(chǔ)系統(tǒng)等密不可分。

大型動(dòng)態(tài)應(yīng)用系統(tǒng)平臺(tái)主要是針對(duì)于大流量演顾、高并發(fā)網(wǎng)站建立的底層系統(tǒng)架構(gòu)供搀。大型網(wǎng)站的運(yùn)行需要一個(gè)可靠、安全偶房、可擴(kuò)展趁曼、易維護(hù)的應(yīng)用系統(tǒng)平臺(tái)做為支撐,以保證網(wǎng)站應(yīng)用的平穩(wěn)運(yùn)行棕洋。

大型動(dòng)態(tài)應(yīng)用系統(tǒng)又可分為幾個(gè)子系統(tǒng):

1)Web前端系統(tǒng)

2)負(fù)載均衡系統(tǒng)

3)數(shù)據(jù)庫集群系統(tǒng)

4)緩存系統(tǒng)

5)分布式存儲(chǔ)系統(tǒng)

6)分布式服務(wù)器管理系統(tǒng)

7)代碼分發(fā)系統(tǒng)

Web前端系統(tǒng)

結(jié)構(gòu)圖:


image.png

為了達(dá)到不同應(yīng)用的服務(wù)器共享挡闰、避免單點(diǎn)故障、集中管理掰盘、統(tǒng)一配置等目的摄悯,不以應(yīng)用劃分服務(wù)器,而是將所有服務(wù)器做統(tǒng)一使用愧捕,每臺(tái)服務(wù)器都可以對(duì)多個(gè)應(yīng)用提供服務(wù)奢驯,當(dāng)某些應(yīng)用訪問量升高時(shí),通過增加服務(wù)器節(jié)點(diǎn)達(dá)到整個(gè)服務(wù)器集群的性能提高次绘,同時(shí)使他應(yīng)用也會(huì)受益瘪阁。該Web前端系統(tǒng)基于Apache/Lighttpd/Eginx等的虛擬主機(jī)平臺(tái)撒遣,提供PHP程序運(yùn)行環(huán)境。服務(wù)器對(duì)開發(fā)人員是透明的管跺,不需要開發(fā)人員介入服務(wù)器管理

負(fù)載均衡系統(tǒng)

image.png

負(fù)載均衡系統(tǒng)分為硬件和軟件兩種义黎。硬件負(fù)載均衡效率高,但是價(jià)格貴豁跑,比如F5等廉涕。軟件負(fù)載均衡系統(tǒng)價(jià)格較低或者免費(fèi),效率較硬件負(fù)載均衡系統(tǒng)低艇拍,不過對(duì)于流量一般或稍大些網(wǎng)站來講也足夠使用狐蜕,比如lvs, nginx。大多數(shù)網(wǎng)站都是硬件卸夕、軟件負(fù)載均衡系統(tǒng)并用层释。

數(shù)據(jù)庫集群系統(tǒng)

結(jié)構(gòu)圖:

image.png

由于Web前端采用了負(fù)載均衡集群結(jié)構(gòu)提高了服務(wù)的有效性和擴(kuò)展性,因此數(shù)據(jù)庫必須也是高可靠的娇哆,才能保證整個(gè)服務(wù)體系的高可靠性湃累,如何構(gòu)建一個(gè)高可靠的勃救、可以提供大規(guī)模并發(fā)處理的數(shù)據(jù)庫體系碍讨?

我們可以采用如上圖所示的方案:

1) 使用 MySQL 數(shù)據(jù)庫,考慮到Web應(yīng)用的數(shù)據(jù)庫讀多寫少的特點(diǎn)蒙秒,我們主要對(duì)讀數(shù)據(jù)庫做了優(yōu)化勃黍,提供專用的讀數(shù)據(jù)庫和寫數(shù)據(jù)庫,在應(yīng)用程序中實(shí)現(xiàn)讀操作和寫操作分別訪問不同的數(shù)據(jù)庫晕讲。

2) 使用 MySQL Replication 機(jī)制實(shí)現(xiàn)快速將主庫(寫庫)的數(shù)據(jù)庫復(fù)制到從庫(讀庫)覆获。一個(gè)主庫對(duì)應(yīng)多個(gè)從庫,主庫數(shù)據(jù)實(shí)時(shí)同步到從庫瓢省。

3) 寫數(shù)據(jù)庫有多臺(tái)弄息,每臺(tái)都可以提供多個(gè)應(yīng)用共同使用,這樣可以解決寫庫的性能瓶頸問題和單點(diǎn)故障問題勤婚。

4) 讀數(shù)據(jù)庫有多臺(tái)摹量,通過負(fù)載均衡設(shè)備實(shí)現(xiàn)負(fù)載均衡,從而達(dá)到讀數(shù)據(jù)庫的高性能馒胆、高可靠和高可擴(kuò)展性缨称。

5) 數(shù)據(jù)庫服務(wù)器和應(yīng)用服務(wù)器分離。

6) 從數(shù)據(jù)庫使用BigIP做負(fù)載均衡祝迂。

緩存系統(tǒng)

image.png

緩存分為文件緩存睦尽、內(nèi)存緩存、數(shù)據(jù)庫緩存型雳。在大型Web應(yīng)用中使用最多且效率最高的是內(nèi)存緩存当凡。最常用的內(nèi)存緩存工具是Memcached山害。使用正確的緩存系統(tǒng)可以達(dá)到實(shí)現(xiàn)以下目標(biāo):

1、使用緩存系統(tǒng)可以提高訪問效率沿量,提高服務(wù)器吞吐能力粗恢,改善用戶體驗(yàn)。

2欧瘪、減輕對(duì)數(shù)據(jù)庫及存儲(chǔ)集服務(wù)器的訪問壓力眷射。

3、Memcached服務(wù)器有多臺(tái)佛掖,避免單點(diǎn)故障妖碉,提供高可靠性和可擴(kuò)展性,提高性能芥被。

分布式存儲(chǔ)系統(tǒng)

結(jié)構(gòu)圖:


image.png

Web系統(tǒng)平臺(tái)中的存儲(chǔ)需求有下面兩個(gè)特點(diǎn):

1) 存儲(chǔ)量很大欧宜,經(jīng)常會(huì)達(dá)到單臺(tái)服務(wù)器無法提供的規(guī)模,比如相冊(cè)拴魄、視頻等應(yīng)用冗茸。因此需要專業(yè)的大規(guī)模存儲(chǔ)系統(tǒng)。

2) 負(fù)載均衡cluster中的每個(gè)節(jié)點(diǎn)都有可能訪問任何一個(gè)數(shù)據(jù)對(duì)象匹中,每個(gè)節(jié)點(diǎn)對(duì)數(shù)據(jù)的處理也能被其他節(jié)點(diǎn)共享夏漱,因此這些節(jié)點(diǎn)要操作的數(shù)據(jù)從邏輯上看只能是一個(gè)整體,不是各自獨(dú)立的數(shù)據(jù)資源顶捷。

因此高性能的分布式存儲(chǔ)系統(tǒng)對(duì)于大型網(wǎng)站應(yīng)用來說是非常重要的一環(huán)挂绰。(這個(gè)地方需要加入對(duì)某個(gè)分布式存儲(chǔ)系統(tǒng)的簡單介紹。)

分布式服務(wù)器管理系統(tǒng)

結(jié)構(gòu)圖:


image.png

隨著網(wǎng)站訪問流量的不斷增加服赎,大多的網(wǎng)絡(luò)服務(wù)都是以負(fù)載均衡集群的方式對(duì)外提供服務(wù)葵蒂,隨之集群規(guī)模的擴(kuò)大,原來基于單機(jī)的服務(wù)器管理模式已經(jīng)不能夠滿足我們的需求重虑,新的需求必須能夠集中式的践付、分組的、批量的缺厉、自動(dòng)化的對(duì)服務(wù)器進(jìn)行管理永高,能夠批量化的執(zhí)行計(jì)劃任務(wù)。

在分布式服務(wù)器管理系統(tǒng)軟件中有一些比較優(yōu)秀的軟件芽死,其中比較理想的一個(gè)是Cfengine乏梁。它可以對(duì)服務(wù)器進(jìn)行分組,不同的分組可以分別定制系統(tǒng)配置文件关贵、計(jì)劃任務(wù)等配置遇骑。它是基于C/S 結(jié)構(gòu)的,所有的服務(wù)器配置和管理腳本程序都保存在Cfengine Server上揖曾,而被管理的服務(wù)器運(yùn)行著 Cfengine Client 程序落萎,Cfengine Client通過SSL加密的連接定期的向服務(wù)器端發(fā)送請(qǐng)求以獲取最新的配置文件和管理命令亥啦、腳本程序、補(bǔ)丁安裝等任務(wù)练链。

有了Cfengine這種集中式的服務(wù)器管理工具翔脱,我們就可以高效的實(shí)現(xiàn)大規(guī)模的服務(wù)器集群管理,被管理服務(wù)器和 Cfengine Server 可以分布在任何位置媒鼓,只要網(wǎng)絡(luò)可以連通就能實(shí)現(xiàn)快速自動(dòng)化的管理届吁。

代碼發(fā)布系統(tǒng)

結(jié)構(gòu)圖:


image.png

隨著網(wǎng)站訪問流量的不斷增加,大多的網(wǎng)絡(luò)服務(wù)都是以負(fù)載均衡集群的方式對(duì)外提供服務(wù)绿鸣,隨之集群規(guī)模的擴(kuò)大疚沐,為了滿足集群環(huán)境下程序代碼的批量分發(fā)和更新,我們還需要一個(gè)程序代碼發(fā)布系統(tǒng)潮模。

這個(gè)發(fā)布系統(tǒng)可以幫我們實(shí)現(xiàn)下面的目標(biāo):

1) 生產(chǎn)環(huán)境的服務(wù)器以虛擬主機(jī)方式提供服務(wù)亮蛔,不需要開發(fā)人員介入維護(hù)和直接操作,提供發(fā)布系統(tǒng)可以實(shí)現(xiàn)不需要登陸服務(wù)器就能把程序分發(fā)到目標(biāo)服務(wù)器擎厢。

2) 我們要實(shí)現(xiàn)內(nèi)部開發(fā)究流、內(nèi)部測試、生產(chǎn)環(huán)境測試动遭、生產(chǎn)環(huán)境發(fā)布的4個(gè)開發(fā)階段的管理芬探,發(fā)布系統(tǒng)可以介入各個(gè)階段的代碼發(fā)布。

3) 我們需要實(shí)現(xiàn)源代碼管理和版本控制沽损,SVN可以實(shí)現(xiàn)該需求灯节。

這里面可以使用常用的工具Rsync,通過開發(fā)相應(yīng)的腳本工具實(shí)現(xiàn)服務(wù)器集群間代碼同步分發(fā)绵估。

本文轉(zhuǎn)自:https://www.cnblogs.com/cjm123/p/8623034.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市卡骂,隨后出現(xiàn)的幾起案子国裳,更是在濱河造成了極大的恐慌,老刑警劉巖全跨,帶你破解...
    沈念sama閱讀 211,265評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缝左,死亡現(xiàn)場離奇詭異,居然都是意外死亡浓若,警方通過查閱死者的電腦和手機(jī)渺杉,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,078評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來挪钓,“玉大人是越,你說我怎么就攤上這事÷瞪希” “怎么了倚评?”我有些...
    開封第一講書人閱讀 156,852評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵浦徊,是天一觀的道長。 經(jīng)常有香客問我天梧,道長盔性,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,408評(píng)論 1 283
  • 正文 為了忘掉前任呢岗,我火速辦了婚禮冕香,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘后豫。我一直安慰自己暂筝,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,445評(píng)論 5 384
  • 文/花漫 我一把揭開白布硬贯。 她就那樣靜靜地躺著焕襟,像睡著了一般。 火紅的嫁衣襯著肌膚如雪饭豹。 梳的紋絲不亂的頭發(fā)上鸵赖,一...
    開封第一講書人閱讀 49,772評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音拄衰,去河邊找鬼它褪。 笑死,一個(gè)胖子當(dāng)著我的面吹牛翘悉,可吹牛的內(nèi)容都是我干的茫打。 我是一名探鬼主播,決...
    沈念sama閱讀 38,921評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼妖混,長吁一口氣:“原來是場噩夢(mèng)啊……” “哼老赤!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起制市,我...
    開封第一講書人閱讀 37,688評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤抬旺,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后祥楣,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體开财,經(jīng)...
    沈念sama閱讀 44,130評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,467評(píng)論 2 325
  • 正文 我和宋清朗相戀三年误褪,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了责鳍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,617評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡兽间,死狀恐怖历葛,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情渡八,我是刑警寧澤啃洋,帶...
    沈念sama閱讀 34,276評(píng)論 4 329
  • 正文 年R本政府宣布传货,位于F島的核電站,受9級(jí)特大地震影響宏娄,放射性物質(zhì)發(fā)生泄漏问裕。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,882評(píng)論 3 312
  • 文/蒙蒙 一孵坚、第九天 我趴在偏房一處隱蔽的房頂上張望粮宛。 院中可真熱鬧,春花似錦卖宠、人聲如沸巍杈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,740評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽筷畦。三九已至,卻和暖如春刺洒,著一層夾襖步出監(jiān)牢的瞬間鳖宾,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,967評(píng)論 1 265
  • 我被黑心中介騙來泰國打工逆航, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鼎文,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,315評(píng)論 2 360
  • 正文 我出身青樓因俐,卻偏偏與公主長得像拇惋,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子抹剩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,486評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容