Nginx負(fù)載均衡(架構(gòu)之路)詳解
在大型網(wǎng)站中,負(fù)載均衡是有想當(dāng)必要的。尤其是在同一時(shí)間訪問量比較大的大型網(wǎng)站,例如網(wǎng)上商城,新聞等CMS系統(tǒng),為了減輕單個(gè)服務(wù)器的處理壓力,我們引進(jìn)了負(fù)載均衡這一個(gè)概念,將一個(gè)服務(wù)器的壓力分?jǐn)偟綆讉€(gè)服務(wù)器上,一方面減輕了宕機(jī)的幾率,另一方面也使得宕機(jī)后還要其他服務(wù)器可以繼續(xù)穩(wěn)定運(yùn)行,提高了系統(tǒng)的健壯性。
【實(shí)現(xiàn)功能】
這篇文章將要介紹的主要內(nèi)容如下:
1、配置三臺(tái)服務(wù)器
2、分別在三臺(tái)服務(wù)器上部署同樣的服務(wù)代碼
3、使用Nginx實(shí)現(xiàn)負(fù)載均衡
【實(shí)現(xiàn)思路】
我們的Nginx負(fù)載均衡器將部署在一臺(tái)交互服務(wù)器上,配置與其他兩臺(tái)服務(wù)器的連接,所有的請(qǐng)求直接訪問Nginx服務(wù)接口,然后Nginx負(fù)載均衡器將自行選擇真實(shí)調(diào)用的服務(wù)器端口。
【開發(fā)及部署環(huán)境】
開發(fā)環(huán)境:Windows 7 x64 sp1 英文版
VisualStudio 2017
部署環(huán)境:阿里云 ECS實(shí)例 windows server 2012 x64
IIS 7.0
【所需技術(shù)】
ASP.NET WebApi2
【實(shí)現(xiàn)過程】
使用ASP.NET webapi2 寫一個(gè)簡單地返回json的接口,為了展示我們調(diào)用的是不同服務(wù)器上的接口,我們以數(shù)字形式分別生成三個(gè)接口服務(wù),并且分別部署到三臺(tái)服務(wù)器的iis中。
public IHttpActionResult GetTest() { //throw new Exception_DG_Internationalization(1001); string ip = Request.GetIpAddressFromRequest(); return OK("Test Api . Client Ip Address is -> "+ip+" The Server is ===== 333 ====="); }
我部署的三臺(tái)服務(wù)器后面的數(shù)字分別是 111,222,333
注:return OK是本人自定義的返回格式,具體簡單代碼可以直接return Json();
Request.GetIpAddressFromRequest();是本人擴(kuò)展的獲取ip地址的方法,具體實(shí)現(xiàn)請(qǐng)按自身情況實(shí)現(xiàn)。
【系統(tǒng)測試】
我們將三個(gè)后臺(tái)代碼生成后,分別部署到三個(gè)服務(wù)器上。
為了保密服務(wù)器信息,以下我的所有ip地址都將以ip_A,ip_B,ip_C來標(biāo)識(shí)
第三個(gè)是我們將要部署Nginx的服務(wù)器:
部署好后,我們進(jìn)行Nginx的配置:
下載Nginx:http://nginx.org/en/download.html
然后解壓到ip_C服務(wù)器,并打開conf文件夾下的nginx.conf
編輯內(nèi)容如下
然后我們啟動(dòng)服務(wù):
cmd命令切換到nginx的根目錄下
這樣,服務(wù)就算啟動(dòng)了... 吐槽一句,為什么不提示一句服務(wù)啟動(dòng)成功呢..欸,不人性化!
然后我們打開任意一個(gè)接口測試工具,分別執(zhí)行三次相同的請(qǐng)求:
請(qǐng)求一、
請(qǐng)求二、
請(qǐng)求三、
可以發(fā)現(xiàn),我們每一次的請(qǐng)求,調(diào)用的后臺(tái)服務(wù)接口都不是同一個(gè),這樣就保證了在大量客戶訪問同一個(gè)服務(wù)器地址時(shí)候,可以將一個(gè)服務(wù)器的壓力分別分?jǐn)偟綆讉€(gè)服務(wù)器上,達(dá)到了負(fù)載均衡的目的。
以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- 如何通過nginx負(fù)載均衡跳轉(zhuǎn)https
- 淺談Nginx七層反向代理和負(fù)載均衡
- 詳解Nginx服務(wù)器之負(fù)載均衡策略(6種)
- 淺析Nginx 負(fù)載均衡4種模式
- linux下nginx負(fù)載均衡搭建的方法步驟
- nginx實(shí)現(xiàn)負(fù)載均衡和動(dòng)靜分離
- Nginx負(fù)載均衡配置簡單配置方法
- nginx 負(fù)載均衡的三種參數(shù)設(shè)置
- iis+nginx實(shí)現(xiàn)負(fù)載均衡的詳細(xì)步驟
- 負(fù)載均衡的基本知識(shí)以及使用nginx進(jìn)行負(fù)載均衡的簡單例子
相關(guān)文章
安裝Windows版nginx及部署前端代碼并解決刷新出現(xiàn)404問題
這篇文章主要給大家介紹了關(guān)于安裝Windows版nginx及部署前端代碼解決刷新出現(xiàn)404問題的相關(guān)資料,使用nginx部署前端項(xiàng)目是一篇非常詳細(xì)的教程,旨在幫助初學(xué)者使用Nginx來部署前端項(xiàng)目,需要的朋友可以參考下2023-12-12詳解nginx 的 default_server 定義及匹配規(guī)則
這篇文章主要介紹了詳解nginx 的 default_server 定義及匹配規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-08-08nginx實(shí)現(xiàn)動(dòng)靜分離實(shí)例講解
在本篇文章里小編給大家整理的是關(guān)于nginx實(shí)現(xiàn)動(dòng)靜分離實(shí)例講解,需要的朋友們可以參考下。2020-03-03