lvs:是基於四層的** haproxy:是基於四層和七層的**,是專業的**伺服器
nginx:是web伺服器,快取伺服器,又是反向**伺服器,可以做七層的**
區別:lvs由於是基於四層的**所以只能做埠的**,而基於url的、基於目錄的這
種**lvs就做不了
工作選擇:
haproxy和nginx由於可以做七層的**,所以url和目錄的**都可以做,在很大併發
量的時候我們就要選擇lvs,像中小型公司的話併發量沒那麼大,選擇haproxy或者
nginx足已。
nginx的優點是:
1、工作在網路的7層之上,可以針對http應用做一些分流的策略,比如針對網域名稱、目錄結
構,它的正則規則比haproxy更為強大和靈活,這也是它目前廣泛流行的主要原因之一,
nginx單憑這點可利用的場合就遠多於lvs了。
2、nginx對網路穩定性的依賴非常小,理論上能ping通就就能進行負載功能,這個也是
它的優勢之一,相反lvs對網路穩定性依賴比較大;
3、nginx安裝和配置比較簡單,測試起來比較方便,
4、可以承擔高負載壓力且穩定,在硬體不差的情況下一般能支撐幾萬次的併發量,負載
度比lvs相對小些。
5、nginx可以通過埠檢測到伺服器內部的故障,比如根據伺服器處理網頁返回的狀態
碼、超時等等,並且會把返回錯誤的請求重新提交到另乙個節點,不過其中缺點就是不支
持url來檢測。比如使用者正在上傳乙個檔案,而處理該上傳的節點剛好在上傳過程**現
故障,nginx會把上傳切到另一台伺服器重新處理,而lvs就直接斷掉了,如果是上傳一
個很大的檔案或者很重要的檔案的話,使用者可能會因此而不滿。
6、nginx不僅僅是一款優秀的負載均衡器/反向**軟體,它同時也是功能強大的web應
用伺服器,可作為靜態網頁和伺服器。還有nginx社群非常活躍,第三方模組也很多
7、nginx現在作為web反向加速快取越來越成熟了,速度比傳統的squid伺服器更快,可
考慮用其作為反向**加速器
nginx的缺點是:
1、nginx僅能支援http、https和email協議,這樣就在適用範圍上面小些,這個是它的缺
點2、對後端伺服器的健康檢查,只支援通過埠來檢測,不支援通過url來檢測;不支援
session的直接保持,但能通過ip_hash來解決
lvs:使用linux核心集群實現乙個高效能、高可用的負載均衡伺服器,它具有很好的可
伸縮性(scalability)、可靠性(reliability)和可管理性(manageability)
lvs的優點是:
1、抗負載能力強、是工作在網路4層之上僅作分發之用,對記憶體和cpu資源消耗比較低
2、配置性比較低,這是乙個缺點也是乙個優點,因為沒有可太多配置的東西,所以並不
需要太多接觸,大大減少了人為出錯的機率
3、工作穩定,自身有完整的雙機熱備方案,如lvs+keepalived,不過我們在專案實施中
用得最多的還是lvs/dr+keepalived
4、沒有流量的產生,lvs只分發請求,而流量並不從它本身出去,這點保證了均衡器io
的效能不會收到大流量的影響。
5、應用範圍較廣,因為lvs工作在4層,所以它幾乎可對所有應用做負載均衡,包括
lvs的缺點是:
1、軟體本身不支援正規表示式處理,不能做動靜分離;而現在許多**在這方面都有較
強的需求,這個是nginx/haproxy+keepalived的優勢所在
2、如果是**應用比較龐大的話,lvs/dr+keepalived實施起來就比較複雜了,特別後
面有windows server的機器的話,如果實施及配置還有維護過程就比較複雜了,相對而
言,nginx/haproxy+keepalived就簡單多了。
haproxy的特點是:
1、haproxy也是支援虛擬主機的。
2、haproxy的優點能夠補充nginx的一些缺點,比如支援session的保持,cookie的引
導,同時支援通過獲取指定的url來檢測後端伺服器的狀態
3、haproxy跟lvs類似,本身就只是一款負載均衡軟體,單純從效率上來講haproxy會比
nginx有更出色的負載均衡速度,在併發處理上也是優於nginx的 4、haproxy支援tcp協議的負載均衡**,可以對mysql讀進行負載均衡,對後端的
mysql節點進行檢測和負載均衡,大家可以用lvs+keepalived對mysql主從做負載均衡
5、haproxy負載均衡策略非常多,haproxy的負載均衡演算法現在具體有如下8種:
①roundrobin,表示簡單的輪詢,這個不多說,這個是負載均衡基本都具備的; ②
static-rr,表示根據權重,建議關注; ③leastconn,表示最少連線者先處理,建議關
注; ④ source,表示根據請求源ip,這個跟nginx的ip_hash機制類似 我們用其作為解決
session問題的一種方法,建議關注; ⑤ri,表示根據請求的uri; ⑥rl_param,表示根
據請求的url引數』balance url_param』 requires an url parameter name; ⑦hdr(name),表示根據http請求頭來鎖定每一次http請求; ⑧rdp-cookie(name),
表示根據據cookie(name)來鎖定並雜湊每一次tcp請求。
OpenSessionInView的優缺點
概念 在hibernate中使用load方法時,並未把資料真正獲取時就關閉了session,當我們真正想獲取資料時會迫使load載入資料,而此時 session已關閉,所以就會出現異常。比較典型的是在mvc模式中,我們在m層呼叫持久層獲取資料時 持久層用的是load方法載入資料 當這一呼叫結束時,s...
async await,promise的優缺點
await後面接乙個會return new promise的函式並執行它 await只能放在async函式裡 function 搖色子 3000 async function test test 上面這段 async中使await 搖色子 先執行,等到三秒後執行完再把得到的結果賦值給左邊的n,也就是...
Cookie和Session的區別和優缺點
cookie的優缺點 優點 極高的擴充套件性和可用性 通過良好的程式設計,控制儲存在cookie中的session物件的大小。通過加密和安全傳輸技術 ssl 減少cookie被破解的可能性。只在cookie中存放不敏感資料,即使被盜也不會有重大損失。控制cookie的生命期,使之不會永遠有效。偷盜者...