Nginx在局域網(wǎng)中使用ip_hash負(fù)載均衡策略,訪問(wèn)全部分發(fā)到同一個(gè)后端服務(wù)器

Nginx在局域網(wǎng)內(nèi)實(shí)現(xiàn)真正的ip_hash負(fù)載均衡
遇到的問(wèn)題
本人在以前公司的局域網(wǎng)內(nèi)搭載Nginx負(fù)載均衡的時(shí)候發(fā)現(xiàn)使用ip_hash實(shí)現(xiàn)負(fù)載均衡會(huì)發(fā)生一個(gè)奇怪的顯現(xiàn)湿酸,所有客戶端的請(qǐng)求訪問(wèn)都打在了同一個(gè)服務(wù)器上荧缘!
這使得負(fù)載均衡根本就沒(méi)有起到任何作用撬陵,本人查閱了相關(guān)資料最終發(fā)現(xiàn)解決方法切厘,多謝網(wǎng)上的各位大神,參考文獻(xiàn)在最后說(shuō)明懊缺。
為什么無(wú)法實(shí)現(xiàn)在同一局域網(wǎng)內(nèi)ip_hash負(fù)載均衡說(shuō)明
在同一個(gè)局域網(wǎng)中疫稿,大多數(shù)情況下我們?cè)谕痪钟蚓W(wǎng)內(nèi)的所有機(jī)器IP前3位都是相同的,假設(shè)都為192.168.1.xxx鹃两。

根據(jù)官方的解析(參考網(wǎng)上大神的說(shuō)法)
This directive causes requests to be distributed between upstreams based on the IP-address of the client.
The key for the hash is the class-C network address or the entire IPv6-address of the client. IPv6 is supported for ip_hash since 1.3.2 or 1.2.2. This method guarantees that the client request will always be transferred to the same server. But if this server is considered inoperative, then the request of this client will be transferred to another server. This gives a high probability clients will always connect to the same server. (簡(jiǎn)譯:將客戶端ip轉(zhuǎn)化成C類網(wǎng)絡(luò)地址遗座,然后將該網(wǎng)絡(luò)地址當(dāng)作hash關(guān)鍵字,來(lái)保證這個(gè)客戶端請(qǐng)求總是被轉(zhuǎn)發(fā)到一臺(tái)服務(wù)器上)

由此可以知道ip_hash是用C類IP地址的前3位網(wǎng)絡(luò)號(hào)碼進(jìn)行hash計(jì)算的俊扳。
(C類IP地址是指在IP地址的四段號(hào)碼中途蒋,前三段號(hào)碼為網(wǎng)絡(luò)號(hào)碼,剩下的一段號(hào)碼為本地計(jì)算機(jī)的號(hào)碼,解析來(lái)自百度百科)

到此問(wèn)題就很明顯了馋记,由于我們?cè)谕痪钟蚓W(wǎng)內(nèi)号坡,ip地址的前3位都是一樣的,不管你是那臺(tái)客服端發(fā)送的請(qǐng)求梯醒,hash計(jì)算出來(lái)的值都是一樣的宽堆,所以所有的請(qǐng)問(wèn)訪問(wèn)都會(huì)打在同一個(gè)服務(wù)器上,導(dǎo)致沒(méi)有實(shí)現(xiàn)真正的負(fù)載均衡茸习!

修改ip_hash代碼算法中的取值畜隶,解決問(wèn)題
1.在我們下載好的Nginx按轉(zhuǎn)包中打開(kāi)壓縮包(以1.18.0版本為例子)


2020121811570988.png

2.找到nginx目錄下的src/http/modules/ngx_http_upstream_ip_hash_module.c文件


20201218115753734-1.png

3.打開(kāi)該文件,在180行左右會(huì)找到hash變量的賦值語(yǔ)句


20201218115834879.png

4.修改iphp->addrlen長(zhǎng)度(一共有3處地方需要修改)

20201218120124307.png

5.保存修改
在保存中xx.tar.gz文件不允許修改后直接保存号胚,360壓縮可以直接轉(zhuǎn)為zip保存籽慢,這個(gè)沒(méi)啥影響,如果不想轉(zhuǎn)為zip猫胁,可先解壓把ngx_http_upstream_ip_hash_module.c文件修改好后直接替換箱亿。

6.把重新編寫過(guò)的Nginx安裝在服務(wù)器上,這時(shí)候ip_hash在局域網(wǎng)內(nèi)客戶端發(fā)送請(qǐng)求就能實(shí)現(xiàn)真正的負(fù)載均衡杜漠,會(huì)發(fā)送到不同的服務(wù)器上极景。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市驾茴,隨后出現(xiàn)的幾起案子盼樟,更是在濱河造成了極大的恐慌,老刑警劉巖锈至,帶你破解...
    沈念sama閱讀 217,907評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件晨缴,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡峡捡,警方通過(guò)查閱死者的電腦和手機(jī)击碗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門筑悴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人稍途,你說(shuō)我怎么就攤上這事阁吝。” “怎么了械拍?”我有些...
    開(kāi)封第一講書人閱讀 164,298評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵突勇,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我坷虑,道長(zhǎng)甲馋,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,586評(píng)論 1 293
  • 正文 為了忘掉前任迄损,我火速辦了婚禮定躏,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘芹敌。我一直安慰自己痊远,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布党窜。 她就那樣靜靜地躺著拗引,像睡著了一般。 火紅的嫁衣襯著肌膚如雪幌衣。 梳的紋絲不亂的頭發(fā)上矾削,一...
    開(kāi)封第一講書人閱讀 51,488評(píng)論 1 302
  • 那天,我揣著相機(jī)與錄音豁护,去河邊找鬼哼凯。 笑死,一個(gè)胖子當(dāng)著我的面吹牛楚里,可吹牛的內(nèi)容都是我干的断部。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼班缎,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼蝴光!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起达址,我...
    開(kāi)封第一講書人閱讀 39,176評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蔑祟,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后沉唠,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體疆虚,經(jīng)...
    沈念sama閱讀 45,619評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了径簿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片罢屈。...
    茶點(diǎn)故事閱讀 39,932評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖篇亭,靈堂內(nèi)的尸體忽然破棺而出缠捌,到底是詐尸還是另有隱情,我是刑警寧澤译蒂,帶...
    沈念sama閱讀 35,655評(píng)論 5 346
  • 正文 年R本政府宣布鄙币,位于F島的核電站,受9級(jí)特大地震影響蹂随,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜因惭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評(píng)論 3 329
  • 文/蒙蒙 一岳锁、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蹦魔,春花似錦激率、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,871評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至低缩,卻和暖如春嘉冒,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背咆繁。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,994評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工讳推, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人玩般。 一個(gè)月前我還...
    沈念sama閱讀 48,095評(píng)論 3 370
  • 正文 我出身青樓银觅,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親坏为。 傳聞我的和親對(duì)象是個(gè)殘疾皇子究驴,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評(píng)論 2 354

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