網絡編程web
Nginx1.9以前使用 Lvs Haproxy 實現四層反向和負載均衡 數據庫
Lvs能夠i應用到全部負載均衡的功能 數據庫 web服務等編程
四層負載均衡,根據鏈接進行保存。 斷開,鏈接。進行輪訓。TCP四層負載均衡使用長鏈接方式,只要客戶端與服務器端保持鏈接,Nginx不會輪訓到下一臺服務器。跨域
Http當你發送一次新的數據,就會輪訓到下一臺服務器上。(發一條,就是一次請求)瀏覽器
區別:TCP保持長鏈接服務器
HTTP無法送一次新的報文,輪訓到下一臺。網絡
Socket就是爲網絡服務提供的一種機制。負載均衡
通信的兩端都有Sokcettcp
網絡通信其實就是Sokcet間的通信大數據
數據在兩個Sokcet間經過IO傳輸。
udp: a、是面向無鏈接, 將數據及源的封裝成數據包中,不須要創建鏈接
b、每一個數據報的大小在限制64k內
c、因無鏈接,是不可靠協議
d、不須要創建鏈接,速度快
tcp:
a、建議鏈接,造成傳輸數據的通道.
b、在鏈接中進行大數據量傳輸,以字節流方式
c 經過三次握手完成鏈接,是可靠協議
d 必須創建鏈接m效率會稍低
http協議基於TCP協議封裝成超文本傳輸協議,http分爲請求與響應,http協議分爲請求參數和方法類型、請求頭、請求體,響應分爲 響應狀態、響應頭、響應體等。
四層負載均衡,在網絡模型中的傳輸層中,基於主要是基於tcp協議報文實現負載均衡(好比LVS、haproxy就是四層負載均衡器),使用改寫報文的源地址和目的地址。
七層負載均衡,在網絡模型中應用層中,基於URL或者HTTP協議實現負載均衡,Web服務器。
傳輸層: ip地址和端口號 tcp udp協議
服務器與服務器之間通信。IP地址和端口號 IP分爲局域網和外網
端口號: 區別不一樣的應用程序
HTTP底層基於傳輸TCP協議封裝,因此HTTP協議屬於應用層
HTTP屬於同步的(要不怎麼會用MQ呢)
基於請求與響應
HTTP協議如何封裝?
reques 請求URL 請求參數 請求方法
請求頭:經過請求頭得到瀏覽器信息
請求體: 響應 狀態碼
響應頭 跨域解決方案
response
TCP也能夠哦