高并發(fā)解決方案

什么是高并發(fā)?

多個(gè)進(jìn)程或線程同時(shí)(或著說(shuō)在同一段時(shí)間內(nèi))訪問(wèn)同一資源會(huì)產(chǎn)生并發(fā)問(wèn)題。

要想解決高并發(fā),就要先了解高并發(fā)產(chǎn)生的位置.

高并發(fā)一般發(fā)生在兩個(gè)位置,一:訪問(wèn)服務(wù)器時(shí);二:訪問(wèn)數(shù)據(jù)庫(kù)時(shí);

1.1初期解決方案

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

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

2)增加內(nèi)存條。

3)增加硬盤個(gè)數(shù),對(duì)硬盤做Raid5

4)換掉免費(fèi)的Tomcat,使用商用weblogic(美國(guó)Oracle公司出品的)

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

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

7)甚至花高價(jià)直接購(gòu)買高性能服務(wù)器

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

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

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

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

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

4)鏡像(下載較多)

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

這時(shí)考慮增加服務(wù)器,增加服務(wù)器就會(huì)出現(xiàn)以下問(wèn)題

問(wèn)題1:用戶訪問(wèn)IP多了怎么解決?

問(wèn)題2:數(shù)據(jù)庫(kù)出現(xiàn)瓶頸怎么辦?

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

1.1開始:準(zhǔn)備采用DNS

什么是DNS

DNS(Domain Name System,域名系統(tǒng)),因特網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使用戶更方便的訪問(wèn)互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過(guò)主機(jī)名,最終得到該主機(jī)名對(duì)應(yīng)的IP地址的過(guò)程叫做域名解析(或主機(jī)名解析)。DNS協(xié)議運(yùn)行在UDP協(xié)議之上,使用端口號(hào)53。

解決IP—DNS

DNS服務(wù)器可以解決IP多了的問(wèn)題

http://www.itcast.cn: ?192.168.1.100

192.168.1.101

192.168.1.102

……更多

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

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

由于目前現(xiàn)有網(wǎng)絡(luò)的各個(gè)核心部分隨著業(yè)務(wù)量的提高,訪問(wèn)量和數(shù)據(jù)流量的快速增長(zhǎng),其處理能力和計(jì)算強(qiáng)度也相應(yīng)地增大,使得單一的服務(wù)器設(shè)備根本無(wú)法承擔(dān)。在此情況下,如果扔掉現(xiàn)有設(shè)備去做大量的硬件升級(jí),這樣將造成現(xiàn)有資源的浪費(fèi),而且如果再面臨下一次業(yè)務(wù)量的提升時(shí),這又將導(dǎo)致再一次硬件升級(jí)的高額成本投入,甚至性能再卓越的設(shè)備也不能滿足當(dāng)前業(yè)務(wù)量增長(zhǎng)的需求。

針對(duì)此情況而衍生出來(lái)的一種廉價(jià)有效透明的方法以擴(kuò)展現(xiàn)有網(wǎng)絡(luò)設(shè)備和服務(wù)器的帶寬、增加吞吐量、加強(qiáng)網(wǎng)絡(luò)數(shù)據(jù)處理能力、提高網(wǎng)絡(luò)的靈活性和可用性的技術(shù)就是負(fù)載均衡(Load Balance)。


問(wèn)題2:數(shù)據(jù)庫(kù)出現(xiàn)瓶頸怎么辦?

以Mysql為例:

1:對(duì)Mysql進(jìn)行優(yōu)化(重點(diǎn)講解)

2:緩存,主流緩存Memcached,redis…

3: ?mysql讀寫分離+主從復(fù)制 ? ?


4:Oracle

5:Oracle讀寫分離+主從復(fù)制

6:Oracle Partition分區(qū)

7:Oracle RAC集群(終級(jí)解決方案)

此方案:非常貴,即使是淘寶,京東這樣的大公司,也是很難受的。

主要方案:水平拆分,庫(kù)表散列(分庫(kù)分表)

此方案已經(jīng)在阿里運(yùn)行長(zhǎng)達(dá)3年以上? 可以說(shuō)是非常成熟的解決方案

待續(xù)…

備選方案:Mysql主從復(fù)制與讀寫分離

優(yōu)化:解決了高并發(fā)問(wèn)題

缺點(diǎn):沒(méi)有解決高可用問(wèn)題;Mysql-Proxy存在一個(gè)單點(diǎn)問(wèn)題;Mysql主機(jī)是單點(diǎn)問(wèn)題

Tomcat與Mysql-proxy 搭建在一臺(tái)服務(wù)器上就可以 了;

MySQL主從復(fù)制(Master-Slave)與讀寫分離(MySQL-Proxy)實(shí)踐

Mysql作為目前世界上使用最廣泛的免費(fèi)數(shù)據(jù)庫(kù),相信所有從事系統(tǒng)運(yùn)維的工程師都一定接觸過(guò)。但在實(shí)際的生產(chǎn)環(huán)境中,由單臺(tái)Mysql作為獨(dú)立的數(shù)據(jù)庫(kù)是完全不能滿足實(shí)際需求的,無(wú)論是在安全性,高可用性以及高并發(fā)等各個(gè)方面。

因此,一般來(lái)說(shuō)都是通過(guò)主從復(fù)制(Master-Slave)的方式來(lái)同步數(shù)據(jù),再通過(guò)讀寫分離(MySQL-Proxy)來(lái)提升數(shù)據(jù)庫(kù)的并發(fā)負(fù)載能力這樣的方案來(lái)進(jìn)行部署與實(shí)施的。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,565評(píng)論 6 539
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 99,115評(píng)論 3 423
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人,你說(shuō)我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 177,577評(píng)論 0 382
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我,道長(zhǎng),這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,514評(píng)論 1 316
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 72,234評(píng)論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,621評(píng)論 1 326
  • 那天,我揣著相機(jī)與錄音,去河邊找鬼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,641評(píng)論 3 444
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,822評(píng)論 0 289
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 49,380評(píng)論 1 335
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 41,128評(píng)論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 43,319評(píng)論 1 371
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,879評(píng)論 5 362
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,970評(píng)論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,229評(píng)論 1 291
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 52,048評(píng)論 3 397
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 48,285評(píng)論 2 376

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