負載均衡:
負載均衡是把乙個可平行計算的程式的任務(或者什麼東西)分配到分布式系統的各個cpu上,從而最小化最終完成時間的問題。
lb 主要考慮2方面的耗費:
total_cost = computation_cost + communication_cost.
似乎這兩個耗費之間存在矛盾,如果將負載都分配到乙個cpu上,那麼通訊耗費肯定會很少,然而總的完成時間會加長。
如果將負載均勻的分布到各cpu上,通訊耗費又會增加。所以,要折衷考慮。
lb 分靜態lb 和動態lb演算法。
(1)靜態lb
是在編譯程式階段,就固定好了確切的分配策略,在執行之前,將任務分配給個系統。在執行過程中,不存在計算機之間的通訊
(2)動態lb
是在執行過程中,根據分布式系統的運**況,分配任務。
lvs dr 工作原理
記錄一下lvs中dr模式的執行過程
乙個主ldserver , 可以有自己單獨的ip(192.168.1.1),vip 設定為 vip1(192.168.1.100)
乙個備份ldserver, 自己的ip(192.168.1.2)vip當然也是vip1(利用keepalived檢測,出錯時會接管)
幾台real_server,這些real server必須在乙個同乙個物理連線上,也就是通過交換機直接連線
假設有2臺real server,
1的ip為 192.168.1.3
2號機的ip為 192.168.1.4
怎樣新增共享的vip呢?將1,2號機上的lo上新增乙個 lo:0 它的ip是vip, 廣播也是vip
那麼這個包的流程是怎樣處理呢?
1)使用者請求dns得到ldserver的ip,為什麼?因為只有ldserver提供icmp ping的應答,其他real server雖然也有此vip,但是配置時都關掉了應答,所以自然請求包會首先到達ldserver。
2)ldserver根據規則將請求包的目的mac位址寫成乙個realserver的mac位址,發出去
3)realserver接到該包後(在乙個物理連線上,如果不是自己的資料報,根據mac位址會丟掉)向上層遞交,然後自己的乙個lo:中的ip正好是目的ip,那就可以處理該包了,並且直接給使用者應答的時候也不用修改源ip,因為自己有乙個lo的ip就是那個vip。這個地方被自己困住了很久。
從而ld上只負責對映和記錄對映,並不儲存鏈結,從而不會受單台pc的連線數的限制,瓶頸上公升到頻寬和單位時間內可以記錄對映,查詢對映的計算上。
nginx 負載均衡 Nginx負載均衡策略
nginx提供的負載均衡策略有2種 內建策略和擴充套件策略。內建策略為輪詢 預設 加權輪詢,ip hash,第三方。upstream mysvr1 輪詢 每個請求按照時間順序逐一的分配到每乙個後台伺服器上。如果某台伺服器宕機了,將會自動的剔除宕機的服務。nginx預設就是輪詢其權重都預設為1,伺服器...
軟負載均衡和F5負載均衡(硬負載均衡)區別
分割線,以下是原文內容 負載均衡 建立在現有網路結構之上,它提供了一種廉價有效透明的方法擴充套件 網路裝置 和伺服器 的頻寬 增加 吞吐量 加強網路資料處理能力 提高網路的靈活性和可用性。負載均衡,英文名稱為load balance,其意思就是分攤到多個操作單元上進行執行,例如web 伺服器 ftp...
負載均衡(一)為什麼需要負載均衡
通常我們專案開發都是在tomcat上完成的,當然這樣是有優點的,比如就是開發簡單,部署簡單,但是單個的tomcat有時候有時候就會有問題,它的容量有峰值,大概在300之間,可以用測試軟體jemeter進行壓力測試。而且如果tomcat出現問題的話,那麼整個專案就會出現故障,這是不可容忍的 單點故障,...