天天看點

Nginx負載均衡

在大型網站中,負載均衡是有想當必要的。尤其是在同一時間通路量比較大的大型網站,例如網上商城,新聞等CMS系統,為了減輕單個伺服器的處理壓力,我們引進了負載均衡這一個概念,将一個伺服器的壓力分攤到幾個伺服器上,一方面減輕了當機的幾率,另一方面也使得當機後還要其他伺服器可以繼續穩定運作,提高了系統的健壯性。

這篇文章将要介紹的主要内容如下:

我們的Nginx負載均衡器将部署在一台互動伺服器上,配置與其他兩台伺服器的連接配接,所有的請求直接通路Nginx服務接口,然後Nginx負載均衡器将自行選擇真實調用的伺服器端口。

開發環境:Windows 7 x64 sp1 英文版

     VisualStudio 2017 

部署環境:阿裡雲 ECS執行個體 windows server 2012 x64

     IIS 7.0

使用ASP.NET webapi2 寫一個簡單地傳回json的接口,為了展示我們調用的是不同伺服器上的接口,我們以數字形式分别生成三個接口服務,并且分别部署到三台伺服器的iis中。

我部署的三台伺服器後面的數字分别是 111,222,333

注:return OK是本人自定義的傳回格式,具體簡單代碼可以直接return Json();

為了保密伺服器資訊,以下我的所有ip位址都将以ip_A,ip_B,ip_C來辨別

Nginx負載均衡
Nginx負載均衡
Nginx負載均衡

下載下傳Nginx  http://nginx.org/en/download.html

Nginx負載均衡
Nginx負載均衡
Nginx負載均衡

cmd指令切換到nginx的根目錄下

Nginx負載均衡
Nginx負載均衡

這樣,服務就算啟動了... 吐槽一句,為什麼不提示一句服務啟動成功呢..欸,不人性化! 

請求一、

Nginx負載均衡

請求二、

Nginx負載均衡

請求三、

Nginx負載均衡

可以發現,我們每一次的請求,調用的背景服務接口都不是同一個,這樣就保證了在大量客戶通路同一個伺服器位址時候,可以将一個伺服器的壓力分别分攤到幾個伺服器上,達到了負載均衡的目的。

本文轉自帥氣的頭頭部落格51CTO部落格,原文連結http://blog.51cto.com/12902932/1949338如需轉載請自行聯系原作者

sshpp

繼續閱讀