高并發(fā)的解決方案

【整個(gè)企業(yè)網(wǎng)站架構(gòu)分析 】

1)在集群下,Session是如何共享的三種方案(優(yōu)劣對比) 2)在集群下,N多臺(tái)App服務(wù)器是如何被轉(zhuǎn)發(fā)的(提出幾種方案,優(yōu)劣對比,采用最好的方案)

3)在集群下,N多臺(tái)數(shù)是如何被連接的(提出二種方案,優(yōu)劣對比,采用最好的方案)

4)在集群下,整個(gè)網(wǎng)站的瓶頸在哪里?

5)大數(shù)據(jù)(hadoop)在企業(yè)的整個(gè)架構(gòu)中,處在什么地位,有什么作用?

【訪問人數(shù)過多時(shí),而引起的高并發(fā)解決方案(原理,搭建,演示) 】

1)支持App服務(wù)器出現(xiàn)故障時(shí),主服務(wù)器能自動(dòng)將其移除任務(wù)列表

2)支持App服務(wù)器恢復(fù)正常時(shí),主服務(wù)器能自動(dòng)將其添加回任務(wù)列表

3...

負(fù)載均衡服務(wù)器高并發(fā)

企業(yè)高并發(fā)概念出自阿里巴巴研究院

什么是高并發(fā):多個(gè)進(jìn)程或者線程同時(shí)(或者在同一段時(shí)間內(nèi))訪問統(tǒng)一資源會(huì)產(chǎn)生的并發(fā)問題

3.高并發(fā)初期解決方案:

3.1系統(tǒng)或服務(wù)器級(jí)別解決方案:

①增大服務(wù)器的CPU

②增加內(nèi)存條

③增加硬盤個(gè)數(shù)叁鉴,對硬盤做Radis

④換掉免費(fèi)的tomcat透揣,使用商用weblogic(美國Oracle公司出品的)

⑤增加到二塊網(wǎng)卡

⑥聘請系統(tǒng)架構(gòu)師優(yōu)化Linux內(nèi)核

⑦甚至花高價(jià)直接購買高性能的服務(wù)器

隨著業(yè)務(wù)的不斷增加漩蟆,服務(wù)器性能很快又達(dá)到瓶頸

3.2 應(yīng)用級(jí)別的解決方案

① 網(wǎng)頁HTML靜態(tài)化(需要CMS項(xiàng)目支持)

②圖片服務(wù)器分離(常用解決方案)

③緩存(常用解決方案)上上策為分布式緩存

④ 鏡像(下載較多)

3.3 解決用戶IP多了的辦法是?

開始使用DNS:

缺點(diǎn):雖然循環(huán)復(fù)用DNS是一個(gè)普遍使用的在Web服務(wù)器上負(fù)載平衡的解決方案页眯,但是纸俭,該方式有它自身的缺陷虫溜。循環(huán)復(fù)用DNS將傳入的IP請求映射到定義的一系列循環(huán)形式的服務(wù)器墓塌。一旦發(fā)生服務(wù)器故障,循環(huán)復(fù)用DNS繼續(xù)把請求發(fā)送到這個(gè)故障服務(wù)器蚀狰,一直到把該服務(wù)器從DNS中移走為止。這樣許多用戶必須等到DNS連接超時(shí)以后才能成功的訪問目的網(wǎng)站职员。

終極解決方案:

采用負(fù)載均衡技術(shù)

3.4 負(fù)載均衡

(1) 負(fù)載均衡服務(wù)器的三大功能:

①轉(zhuǎn)發(fā):在用戶請求麻蹋,轉(zhuǎn)發(fā)請求的功能

②故障移除:如果這一臺(tái)機(jī)器掛了,負(fù)載均衡服務(wù)器不會(huì)再把請求轉(zhuǎn)發(fā)到這臺(tái)服務(wù)器

③恢復(fù)添加:如果這一臺(tái)機(jī)器恢復(fù)正常了焊切,負(fù)載均衡服務(wù)器會(huì)把它重新添加回來

(2)負(fù)載均衡服務(wù)器種類--通過軟硬件角度:

①通過硬件來解決:NetScaler扮授、F5、Radware和Array等商用的負(fù)載均衡器专肪,它們性能好刹勃,但是價(jià)格比較昂貴的

②通過軟件來解決(反向代理服務(wù)器 緩存服務(wù)器等),三大軟件:

LVS(Linux Virtual Server):最好的軟件策略嚎尤,有備機(jī)有主機(jī)荔仁,無單點(diǎn)問題,國產(chǎn)(阿里章文嵩博士)開源項(xiàng)目芽死,工作在網(wǎng)絡(luò)四層上

Nginx:Ngnix有”單點(diǎn)故障“的問題乏梁,如果掛了,會(huì)帶來很多的麻煩关贵。到了后期Web服務(wù)器繼續(xù)增加遇骑,它本身可能會(huì)成為系統(tǒng)的瓶頸

nginx最高支持50000個(gè)并發(fā)連接數(shù),工作在網(wǎng)路七層上

Apache:web服務(wù)器第一坪哄,但不是最好的負(fù)載均衡服務(wù)器质蕉,工作在網(wǎng)路七層上

LVS對比NGinx

負(fù)載度: LVS KO Ngnix

功能多少:Nginx KO LVS

穩(wěn)定度:LVS KO Nginx

服務(wù)器性能要求:LVS KO Nginx

效率最高的負(fù)載均衡技術(shù)中,最高的就是IP負(fù)載均衡技術(shù)翩肌。IP虛擬服務(wù)器軟件(IPVS)是在Linux內(nèi)核中實(shí)現(xiàn)的,LVS就是使用的IP負(fù)載均衡技術(shù)

(3) 常用的高可用方案(HA)都包括兩種機(jī)器模暗,LVS:

主機(jī) 備機(jī)

(4) 常用的服務(wù)器

tomcat

weblogic(大公司,追求穩(wěn)定)

(5) 常用數(shù)據(jù)庫

mysql念祭、oracle 兑宇、mssql

稱為高可用(HA)

(6) 高并發(fā)發(fā)生在兩處

① 負(fù)載均衡服務(wù)器

②數(shù)據(jù)庫

(7) 應(yīng)用服務(wù)器會(huì)出現(xiàn)的問題和解決方案

①多臺(tái)服務(wù)器下用戶登錄了,session是如何共享的

②用戶請求一號(hào)機(jī)器時(shí)候產(chǎn)生了session粱坤,用戶請求二號(hào)機(jī)時(shí)候就沒有session了隶糕,后果就是程序把用戶踢到登錄頁面

解決方案(三種):

①可以把用戶的session放在cookie中

優(yōu)點(diǎn):解決了session沒有的問題

缺點(diǎn):session放在了用戶的瀏覽器中,是不安全的

②可以把用戶的session放在數(shù)據(jù)庫中

優(yōu)點(diǎn):解決了session沒有的問題

缺點(diǎn):網(wǎng)站是一個(gè)成千上萬用戶的網(wǎng)站站玄,如果把session放在數(shù)據(jù)庫中枚驻,會(huì)造成數(shù)據(jù)庫壓力太大,從而使得網(wǎng)站不能正常運(yùn)轉(zhuǎn)

③可以把用戶的session放在緩存服務(wù)器中

最好的解決方案是放在緩存服務(wù)器中

推薦兩種緩存服務(wù)器:Memcache株旷、Redis

要求:Memecache再登、Redis必須是集群

(8) 數(shù)據(jù)庫并發(fā)

①要求:隨著業(yè)務(wù)量的不斷增大尔邓,數(shù)據(jù)庫承載能力也要增大

②要求:數(shù)據(jù)安全,不能丟失

③要求:支持備份+容災(zāi)

(9)Hadoop集群和RDMS之間數(shù)據(jù)處理流程:

①通過sqoop把關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)入到HDFS中

②把HDFS中的數(shù)據(jù)經(jīng)過MapReduce進(jìn)行計(jì)算及處理

③將處理后的解決數(shù)據(jù)寫回到HDFS文件系統(tǒng)

④把結(jié)果數(shù)據(jù)倒回關(guān)系型數(shù)據(jù)庫

⑤將關(guān)系型數(shù)據(jù)庫的數(shù)據(jù)形成報(bào)表展示

4.分析完企業(yè)整體架構(gòu)后锉矢,開始搭建負(fù)載均衡服務(wù)器梯嗽,并演示效果

4.1搭建LVS負(fù)載均衡,場景描述:

開啟四臺(tái)Linux系統(tǒng)(Centos6.4)

第一臺(tái):負(fù)載均衡主機(jī)

第二臺(tái):負(fù)載均衡備機(jī)

第三臺(tái):真實(shí)服務(wù)器(http服務(wù)器)

第四臺(tái):真實(shí)服務(wù)器(http服務(wù)器)

http服務(wù)器是Apache公司的服務(wù)器沽损,在linux系統(tǒng)上自帶的灯节,可以直接使用,方便快捷

4.2 準(zhǔn)備開始搭建绵估,搭建成功后炎疆,演示剛才說的那三個(gè)功能

4.2.1驗(yàn)證功能:

①轉(zhuǎn)發(fā)功能

②故障移除的功能

③恢復(fù)添加的功能

④主機(jī)關(guān)了,備機(jī)是否接管它的工作

環(huán)境:window7 系統(tǒng)

VMware虛擬機(jī)壹士,在虛擬機(jī)上啟動(dòng)四臺(tái)Centos6.4服務(wù)器

i5cpu 500G磁盤 內(nèi)存:8G

心跳檢測機(jī)制

4.2.2 三種IP:

負(fù)載均衡IP:所在服務(wù)器IP

VIP:LVS這個(gè)軟件的IP磷雇,正是我們要訪問的IP

192.168.200.201 訪問IP

真實(shí)服務(wù)器RIP(realIP)

4.2.3 IP分配

149: 負(fù)載均衡服務(wù)器

150: 負(fù)載均衡服務(wù)器

151: Http服務(wù)器

152: Http服務(wù)器

4.2.4 啟動(dòng)Http服務(wù)器

啟動(dòng)Http服務(wù)器命令:

service httpd start

查看防火墻的狀態(tài):

service iptable status

關(guān)閉防火墻:

service iptables stop

徹底關(guān)閉防火墻:

chkconfig iptables off

Http服務(wù)器應(yīng)該不一樣,轉(zhuǎn)發(fā)的時(shí)候才能知道轉(zhuǎn)發(fā)到哪里了

cd /var/www/html/

vim index.html

輸入內(nèi)容: I am http 151躏救,保存退出

然后再兩臺(tái)服務(wù)器上添加端口

cd /etc/init.d/

vim realserver

粘貼內(nèi)容,保存退出

chmod 755 realserver

service realserver start

ifconfig查看螟蒸,如果出現(xiàn)一個(gè)虛擬ip(lo:0 192.168.200.201)盒使,則說明啟動(dòng)成功

4.2.5 搭建負(fù)載均衡主機(jī)

安裝keepalived軟件

uname -a 查看當(dāng)前機(jī)器系統(tǒng)內(nèi)核

上傳keepalived軟件到服務(wù)器目錄下:

安裝keepalived軟件命令:

rpm -ivh keepalived-版本號(hào)

查看軟件安裝在哪里:

rpm -ql keepalived-版本號(hào)

查找配置文件的位置,然后編輯配置文件:

vim /etc/keepalived/keepalived.conf

> /etc/keepalived/keepalived.conf (>可以用于清除內(nèi)容)

vim /etc/keepalived/keepalived.conf七嫌,復(fù)制配置到配置文件里面少办,wq保存

149防火墻也要記得關(guān)閉

啟動(dòng)服務(wù):

service keepalived start

tail -f /var/message,查看日志信息

4.2.6 驗(yàn)證三大功能

搭建完成诵原,在瀏覽器輸入訪問IP(VIP)查看

VIP(訪問IP)http://192.168.200.201 訪問IP

1)轉(zhuǎn)發(fā)功能:151 152英妓,發(fā)現(xiàn)可以在兩臺(tái)HTTP服務(wù)器之間切換

2)故障移除: 把152機(jī)器手動(dòng)關(guān)掉,再查看效果

service httpd stop,訪問152出現(xiàn)沒法連接的效果

在訪問VIP發(fā)現(xiàn)始終是訪問的151機(jī)器绍赛,證明負(fù)載均衡有故障移除的功能

3) 恢復(fù)添加

把152機(jī)器再手動(dòng)啟動(dòng)蔓纠,再查看效果

service httpd start,發(fā)現(xiàn)152重新啟動(dòng)了吗蚌,再 訪問VIP發(fā)現(xiàn)可以重新再兩臺(tái)ftp服務(wù)器之間切換了

證明:負(fù)載均衡有恢復(fù)添加的功能

4)負(fù)載均衡主機(jī)關(guān)了腿倚,備機(jī)是否接管它的工作

搭建備機(jī),150機(jī)器上搭建,和上面的步驟一樣

配置文件中將state Master修改成state BACKUP

搭建備機(jī)成功

關(guān)閉負(fù)載均衡主機(jī)149機(jī)器蚯妇,查看150機(jī)器是否接管它的工作

service keepalived stop

證明負(fù)載均衡主機(jī)關(guān)閉了敷燎,備用機(jī)確實(shí)接管了他的工作

負(fù)載均衡主機(jī)備機(jī)搭建成功,負(fù)載均衡的功能驗(yàn)證通過!

備注:

1.201IP是LVS的IP箩言,訪問IP(VIP)

2.LVS比例:權(quán)重是可以分配的硬贯,上面的演示是1:1

3.http是Centos自帶的,用tomcat也是可以的陨收,但是用tomcat饭豹,要安裝JDK,為了節(jié)約時(shí)間才選用http服務(wù)器的

4.兩臺(tái)tomcat服務(wù)器和兩臺(tái)Http服務(wù)器使用方法是一樣的,就是給Tomcat的默認(rèn)8080端口改成80端口

5.LVS要安裝嗎?

不需要安裝,LVS linux虛擬機(jī)墨状,是linux自帶的卫漫,要求內(nèi)核是2.6版本以后就支持了,不需要安裝

6.windows下安裝是非常不專業(yè)的肾砂,企業(yè)級(jí)服務(wù)器都是用linux服務(wù)器(redHat列赎、centos)

7.LVS主機(jī)配置的Master,備機(jī)配置的BACKUP

8.通過心跳檢查機(jī)制檢查主機(jī)宕機(jī)了镐确,然后切換到備機(jī)(RPC)

9.主機(jī)和備機(jī) 屬性Master和Backup 優(yōu)先級(jí)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末包吝,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子源葫,更是在濱河造成了極大的恐慌诗越,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,294評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件息堂,死亡現(xiàn)場離奇詭異嚷狞,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)荣堰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,493評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門床未,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人振坚,你說我怎么就攤上這事薇搁。” “怎么了渡八?”我有些...
    開封第一講書人閱讀 157,790評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵啃洋,是天一觀的道長。 經(jīng)常有香客問我屎鳍,道長宏娄,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,595評(píng)論 1 284
  • 正文 為了忘掉前任哥艇,我火速辦了婚禮绝编,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘貌踏。我一直安慰自己十饥,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,718評(píng)論 6 386
  • 文/花漫 我一把揭開白布祖乳。 她就那樣靜靜地躺著逗堵,像睡著了一般。 火紅的嫁衣襯著肌膚如雪眷昆。 梳的紋絲不亂的頭發(fā)上蜒秤,一...
    開封第一講書人閱讀 49,906評(píng)論 1 290
  • 那天汁咏,我揣著相機(jī)與錄音,去河邊找鬼作媚。 笑死攘滩,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的纸泡。 我是一名探鬼主播漂问,決...
    沈念sama閱讀 39,053評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼女揭!你這毒婦竟也來了蚤假?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,797評(píng)論 0 268
  • 序言:老撾萬榮一對情侶失蹤吧兔,失蹤者是張志新(化名)和其女友劉穎磷仰,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體境蔼,經(jīng)...
    沈念sama閱讀 44,250評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡灶平,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,570評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了箍土。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片民逼。...
    茶點(diǎn)故事閱讀 38,711評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖涮帘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情笑诅,我是刑警寧澤调缨,帶...
    沈念sama閱讀 34,388評(píng)論 4 332
  • 正文 年R本政府宣布,位于F島的核電站吆你,受9級(jí)特大地震影響弦叶,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜妇多,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,018評(píng)論 3 316
  • 文/蒙蒙 一伤哺、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧者祖,春花似錦立莉、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,796評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至械巡,卻和暖如春刹淌,著一層夾襖步出監(jiān)牢的瞬間饶氏,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,023評(píng)論 1 266
  • 我被黑心中介騙來泰國打工有勾, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留疹启,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,461評(píng)論 2 360
  • 正文 我出身青樓蔼卡,卻偏偏與公主長得像喊崖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子菲宴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,595評(píng)論 2 350

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