回覆列表
-
1 # 沒了腹肌的男生
-
2 # 小貝的STEAM教室
我們舉例來回答吧!
比如說,你現在要洗腳,當然,你得放洗腳水。那麼我們假定,現在只有一個洗腳盆,那麼不管你需要的洗腳水有多少,最多隻能裝一洗腳盆的容量。
這個就是單伺服器的運用場景,你的洗腳水就是流量。
然後你娶了個媳婦兒,這個時候,你當然可以說大家一起洗美滋滋,但是萬一你媳婦兒要求各洗各的呢?於是,你們只能考慮誰先洗誰後洗。
流量翻倍,但還是單伺服器應用,這個叫做佇列。
然後你媳婦兒怒了:幹嘛這麼麻煩,為什麼不能買倆盆兒?
於是你又買了個洗腳盆,現在你們有兩個盆兒了。
這個就是多伺服器。
然後你媳婦兒又發現問題了:雖然盆兒有倆,但是水龍頭還是隻有一個,接水還是得分先後,她生氣了,讓你跪榴蓮。
你沒辦法,只好在水龍頭底下裝了個桶,桶底下有倆出口,水要先流到桶裡,再從出口流到洗腳盆裡。
這個,就是分散式伺服器叢集,桶是master,洗腳盆是slave。
然後,你媳婦兒發現,雖然這樣看起來很合理,但是水流這個東西很隨意,雖然是倆口同時流同時停,但兩個口的流量並不總是一樣的,她又生氣了,認為你要逼死強迫症。
沒辦法,你只好在腳盆足夠高的相同位置打通,於是當水位升到一定位置的時候,就會在兩個桶之間相互流動,實現水平。
這個就是負載均衡。
當然,說的太簡單了,會產生誤會,負載均衡,並不是連通器,連通器,僅僅是其中的一環。
就像虛擬化和雲一樣,很多人會認為是一碼事,實際上並不是
連通器,實際上,只是解決了伺服器之間的通訊問題,並沒有做到減輕伺服器效能的作用
而負載均衡,其誕生的原因就是,透過分流演算法,合理的分攤伺服器壓力,達到伺服器效能的最大最佳化。
如果,安裝上面洗腳水的比喻的話,
連通器,只是兩個洗腳盆之間的連線工具,
而,負載均衡,是達到兩盆洗腳水平衡的整體。
看在我努力手打的份兒上,給個讚唄~~
現在網際網路企業對外服務一般都是多臺機器提供服務的,即,一個域名配置多個ip地址,一個ip對應了一個服務,這樣有一臺機器掛了,還有其他的機器提供服務,而且這樣可以分攤請求,而這裡就需要我們配置ng了,對於一個請求具體打到哪一個機器,對於不同的也許場景有不同的方式,比如,輪詢,根據ip雜湊,也可以根據不同的機器的承受壓力的不同,改變隨機的機率等等,這著能具體查到的最好動手去百度谷歌