nginx應用01:負載均衡

負載均衡分為兩種:一種是基于DNS溶诞,另一種基于IP報文驳遵。

作者:知乎用戶
鏈接:https://www.zhihu.com/question/22610352/answer/126894813
來源:知乎
著作權(quán)歸作者所有顷歌。商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)瘟判,非商業(yè)轉(zhuǎn)載請注明出處恢总。

利用DNS實現(xiàn)負載均衡牡肉,就是在DNS服務器配置多個A記錄,不同的DNS請求會解析到不同的IP地址钻注。大型網(wǎng)站一般使用DNS作為第一級負載均衡蚂且。缺點是DNS生效時間略長,擴展性差幅恋。

基于IP的負載均衡杏死,早期比較有代表性并且被大量使用的的就是LVS了。原理是LVS在Linux內(nèi)核態(tài)獲取到IP報文后捆交,根據(jù)特定的負載均衡算法將IP報文轉(zhuǎn)發(fā)到整個集群的某臺服務器中去淑翼。缺點是LVS的性能依賴Linux內(nèi)核的網(wǎng)絡性能,但Linux內(nèi)核的網(wǎng)絡路徑過長導致了大量開銷品追,使得LVS單機性能較低玄括。

那么有沒有更好的負載均衡技術(shù)呢?當然有肉瓦。
Google于2016年3月最新公布的負載均衡Maglev就在此列遭京。Maglev是谷歌為自己的數(shù)據(jù)中心研發(fā)的解決方案,并于2008開始用于生產(chǎn)環(huán)境泞莉。在第十三屆網(wǎng)絡系統(tǒng)設計與實現(xiàn)USENIX研討會(NSDI ‘16)上哪雕, 來自谷歌、加州大學洛杉磯分校鲫趁、SpaceX公司的工程師們分享了這一商用服務器負載均衡器Maglev的詳細信息斯嚎。Maglev安裝后不需要預熱5秒內(nèi)就能應付每秒100萬次請求令人驚嘆不已。在谷歌的性能基準測試中挨厚,Maglev實例運行在一個8核CPU下堡僻,網(wǎng)絡吞吐率上限為12M PPS(數(shù)據(jù)包每秒),如果Maglev使用Linux內(nèi)核網(wǎng)絡堆棧則速度會小于4M PPS幽崩。

負載均衡產(chǎn)品

負載均衡可以通過負載均衡網(wǎng)絡硬件設備和Web服務器軟件來實現(xiàn)苦始,前者設備成本較高,小公司通常負擔不起慌申,所以后者一般是我們的首選陌选。實現(xiàn)負載均衡常用的Web服務器軟件有Nginx、HAProxy蹄溉、LVS咨油、Apache

nginx負載均衡策略

https://blog.csdn.net/xyang81/article/details/51702900

  • 輪循(默認)
    Nginx根據(jù)請求次數(shù)柒爵,將每個請求均勻分配到每臺服務器
  • 最少連接
    將請求分配給連接數(shù)最少的服務器役电。Nginx會統(tǒng)計哪些服務器的連接數(shù)最少。
  • IP Hash
    綁定處理請求的服務器棉胀。第一次請求時法瑟,根據(jù)該客戶端的IP算出一個HASH值冀膝,將請求分配到集群中的某一臺服務器上。后面該客戶端的所有請求霎挟,都將通過HASH算法窝剖,找到之前處理這臺客戶端請求的服務器,然后將請求交給它來處理酥夭。

nginx高可用

1.阿里云SLB
2.硬件負載均衡器
3.軟件方式實現(xiàn)高可用或負載均衡:
keepalive,LVS,...

Keepalived+Nginx實現(xiàn)高可用Web負載均衡

搭建Keepalived + Nginx + Tomcat的高可用負載均衡架構(gòu)

Tomcat的性能與最大并發(fā)數(shù)

https://blog.csdn.net/java_best/article/details/54708690

Tomcat 默認配置的最大請求數(shù)是 150赐纱,也就是說同時支持 150 個并發(fā),當然了熬北,也可以將其改大疙描。
當某個應用擁有 250 個以上并發(fā)的時候,應考慮應用服務器的集群讶隐。
具體能承載多少并發(fā)起胰,需要看硬件的配置,CPU 越多性能越高巫延,分配給 JVM 的內(nèi)存越多性能也就越高待错,但也會加重 GC 的負擔。
操作系統(tǒng)對于進程中的線程數(shù)有一定的限制:
Windows 每個進程中的線程數(shù)不允許超過 2000
Linux 每個進程中的線程數(shù)不允許超過 1000
另外烈评,在 Java 中每開啟一個線程需要耗用 1MB 的 JVM 內(nèi)存空間用于作為線程棧之用。
Tomcat的最大并發(fā)數(shù)是可以配置的犯建,實際運用中讲冠,最大并發(fā)數(shù)與硬件性能和CPU數(shù)量都有很大關系的。更好的硬件适瓦,更多的處理器都會使Tomcat支持更多的并發(fā)竿开。
Tomcat 默認的 HTTP 實現(xiàn)是采用阻塞式的 Socket 通信,每個請求都需要創(chuàng)建一個線程處理玻熙。這種模式下的并發(fā)量受到線程數(shù)的限制否彩,但對于 Tomcat 來說幾乎沒有 BUG 存在了。
Tomcat 還可以配置 NIO 方式的 Socket 通信嗦随,在性能上高于阻塞式的列荔,每個請求也不需要創(chuàng)建一個線程進行處理,并發(fā)能力比前者高枚尼。但沒有阻塞式的成熟贴浙。
這個并發(fā)能力還與應用的邏輯密切相關,如果邏輯很復雜需要大量的計算署恍,那并發(fā)能力勢必會下降崎溃。如果每個請求都含有很多的數(shù)據(jù)庫操作,那么對于數(shù)據(jù)庫的性能也是非常高的盯质。
對于單臺數(shù)據(jù)庫服務器來說袁串,允許客戶端的連接數(shù)量是有限制的概而。
并發(fā)能力問題涉及整個系統(tǒng)架構(gòu)和業(yè)務邏輯。
系統(tǒng)環(huán)境不同囱修,Tomcat版本不同赎瑰、JDK版本不同、以及修改的設定參數(shù)不同蔚袍。并發(fā)量的差異還是滿大的乡范。
maxThreads="1000" 最大并發(fā)數(shù)
minSpareThreads="100"http:///初始化時創(chuàng)建的線程數(shù)
maxSpareThreads="500"http:///一旦創(chuàng)建的線程超過這個值,Tomcat就會關閉不再需要的socket線程啤咽。
acceptCount="700"http:// 指定當所有可以使用的處理請求的線程數(shù)都被使用時晋辆,可以放到處理隊列中的請求數(shù),超過這個數(shù)的請求將不予處理

nginx單機最大支持并發(fā)量

3w-4w
一般并發(fā)量到1w該用dns分流了宇整,
Google那樣直接從網(wǎng)卡驅(qū)動層分流了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末瓶佳,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子鳞青,更是在濱河造成了極大的恐慌霸饲,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,546評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件臂拓,死亡現(xiàn)場離奇詭異厚脉,居然都是意外死亡,警方通過查閱死者的電腦和手機胶惰,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,224評論 3 395
  • 文/潘曉璐 我一進店門傻工,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人孵滞,你說我怎么就攤上這事中捆。” “怎么了坊饶?”我有些...
    開封第一講書人閱讀 164,911評論 0 354
  • 文/不壞的土叔 我叫張陵泄伪,是天一觀的道長。 經(jīng)常有香客問我匿级,道長蟋滴,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,737評論 1 294
  • 正文 為了忘掉前任根蟹,我火速辦了婚禮脓杉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘简逮。我一直安慰自己球散,他們只是感情好,可當我...
    茶點故事閱讀 67,753評論 6 392
  • 文/花漫 我一把揭開白布散庶。 她就那樣靜靜地躺著蕉堰,像睡著了一般凌净。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上屋讶,一...
    開封第一講書人閱讀 51,598評論 1 305
  • 那天冰寻,我揣著相機與錄音,去河邊找鬼皿渗。 笑死斩芭,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的乐疆。 我是一名探鬼主播划乖,決...
    沈念sama閱讀 40,338評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼挤土!你這毒婦竟也來了琴庵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,249評論 0 276
  • 序言:老撾萬榮一對情侶失蹤仰美,失蹤者是張志新(化名)和其女友劉穎迷殿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體咖杂,經(jīng)...
    沈念sama閱讀 45,696評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡庆寺,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,888評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了诉字。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片止邮。...
    茶點故事閱讀 40,013評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖奏窑,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情屈扎,我是刑警寧澤埃唯,帶...
    沈念sama閱讀 35,731評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站鹰晨,受9級特大地震影響墨叛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜模蜡,卻給世界環(huán)境...
    茶點故事閱讀 41,348評論 3 330
  • 文/蒙蒙 一漠趁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧忍疾,春花似錦闯传、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,929評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽字币。三九已至,卻和暖如春共缕,著一層夾襖步出監(jiān)牢的瞬間洗出,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,048評論 1 270
  • 我被黑心中介騙來泰國打工图谷, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留翩活,地道東北人。 一個月前我還...
    沈念sama閱讀 48,203評論 3 370
  • 正文 我出身青樓便贵,卻偏偏與公主長得像菠镇,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子嫉沽,可洞房花燭夜當晚...
    茶點故事閱讀 44,960評論 2 355

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