分布式,集群,雲計算機、大數據、負載均衡、高並發······當耳邊響起這些詞時,做為一個菜鳥程序猿無疑心中會激動一番(或許這是判斷是否是一個標准阿猿的標准吧)!
首先自己從宏觀把控一下,通過上網科普自己遇到問題,然后再站在這些巨人的肩膀上解決問題。
問題:在大型WEB應用程系統中,由於請求的數量過大及並發的因素,導致Web系統會出現宕機的現象!
解決方案主要有以下幾個方面:
- IIS負載均衡。
- 數據庫負載均衡。
- 系統架構優化,比如:報表服務器和應用服務器的分離等。
接下來就是研究與解決,很簡單首先撿個軟柿子捏,根據常識以及方案排序,決定拿IIS來開刀。
兩張圖理解其中的業務流程
首先上網查資料nginx相關原理,文字性描述感覺很無聊,於是自己總結兩張對比圖,如下:
1、一般情況下(未使用nginx服務器流程):
2、使用nginx服務器后流程【注:本圖以一級nginx服務器為例】:
根據這兩張圖對比,不難得出以下結論:
利用nginx管理起IIS服務器后:
- 可靠性大大增強:一台或多台IIS服務器宕機,服務不中斷!細心的讀者發現如果nginx服務器宕機那?當然可以通過配置多個及多級nginx服務器來解決。
- 處理大訪問量時大大減小IIS服務器壓力,提高訪問速度。
- 消耗硬件資源多:多增加一台服務器(在數據量不大的時候nginx也可與IIS共用一台服務器)與N台IIS服務器!不過在硬件成本不斷降低以及高可靠性的今天,對於大訪問量網站,這個影響幾乎可以忽略不計。要不然也不會有這么多的用戶比如國內的用戶:百度,新浪,網易,騰訊等。
理解了nginx的邏輯后我們着手部署一個環境實戰一下。
實戰部署集群實現賦值均衡
【准備工作】
- 安裝一款文本編輯器(這里以Notepad++為例,使用記事本打開文件有時會是亂碼)
- 下載Nginx(這里以Nginx-1.4.7為例,其他版本操作相同,下載地址:http://nginx.org/en/download.html)
- 建兩個簡單網頁:使用vs建立四個簡單的web項目)
- 將上面建兩個網頁分別發布在IIS上不同端口號,並測試發布成功(IISNgNix1項目端口為8001,IISNgNix2項目端口為8002,IISNgNix3項目端口為8003,IISNgNix4項目端口為8004)
【配置Nginx】
使用文本編輯器編輯Nginx配置文件(到你解壓的相對路徑下面的conf文件夾下面的nginx.conf文件編輯)
進入修改主要修改四個地方,如圖一一標注出來了(溫馨提示:不要用記事本打開修改否則可能會亂碼)
使用Dos命令進入Nginx文件夾並啟動Nginx(這里以將Nginx文件夾放在D盤根目錄下為例)
- 進入D盤: d:
- 進入文件夾:cd D:\nginx-1.4.7
- 開啟nginx:start nginx
有個nginx的相關命令可到官網進行查看,或者百度也有很多。
【實現效果】
現在讓我們一起見證奇跡吧!
打開瀏覽器,在地址欄中輸入剛才在Nginx中設置的代理(這里是192.168.0.43:8888)
按F5刷新(大家如果有興趣可以更改配置文件中Weight中的比例來看效果,我這里設置了2權重,也就是說第一個會分配的多一些):
【總結】
簡單的部署一個服務器集群實現負載均衡是很容易的,但是運用到實戰中就會有很多問題。
比如我們的session就是一個大問題,因為不同的iis之間session是不共享的,
導致我們項目的session會無效,這里小伙伴們有什么好的方法的。
小編想我們是不是可以做一個session服務器做共享,每個iis都經過session服務器,這樣的話session就流通了。
具體效果如何我們等待分析。
![]()
歡迎關注訂閱我的微信公眾平台【熊澤有話說】,更多好玩易學知識等你來取
作者:熊澤-學習中的苦與樂 公眾號:熊澤有話說 出處:https://www.cnblogs.com/xiongze520/p/10308720.html 創作不易,任何人或團體、機構全部轉載或者部分轉載、摘錄,請在文章明顯位置注明作者和原文鏈接。
|