楊永傑之Nginx的理解。小孩都能聽懂
阿新 • • 發佈:2019-01-30
Nginx無非有兩個最重要的,一個是反向代理,一個是負載均衡
例子:
鄭州的軟體公司,沒有專案經理,都是程式猿,老闆直接對程式猿們說,讓他們這一個月完成XX電商專案,然後程式猿們就開始埋頭苦幹,這種狀態下,程式設計師們很苦逼,因為每一個程式猿的能力有高有地,可能這個程式猿擅長使用者管理模組,別的程式猿擅長訂單管理模組,老闆直接說讓他們做,也不給他們各自分配,程式猿們陷入了苦逼狀態
在這個緊要關頭,公司來了一個專案經理,老闆說讓幹什麼直接找專案經理,這個專案經理就是一個代理,然後專案經理根據每一個人的能力讓不同的模組分給不同的人來說,這就是負載均衡。專案經理一個反向操作對程式猿們進行一頓分配操作,所以就是反向代理+負載均衡
Nginx特點:
1.公司前臺伺服器一般是Nginx,後臺一般是Tomcat,因為現在公司都是前後臺分離了,後臺只需要給前臺提供介面就可以,再說Nginx一般裡面都是靜態資源,Tomcat一般是動態資源,搭配完美。
2.我們使用者登入,一般使用者資訊都儲存到Session中,但是根據負載均衡來說,有多臺的伺服器,假如說使用者第一次登入儲存到A伺服器當中,Session資訊肯定是儲存到A伺服器中,下次登入的時候A伺服器任務太多,不能訪問,這個時候就必須訪問其他的伺服器,原本Session資訊都儲存到A伺服器中,現在你登入B伺服器,還需要再次輸入使用者名稱和密碼,這種操作是使用者不願意看到的,這就是我們經常說的Session共享問題。於是Nginx在負載均衡中提供一個IPhash的方法,iphash的每個請求按訪問ip的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題。