網絡編程
Nginx1.9之前使用 Lvs Haproxy 實現四層反向和負載均衡
Lvs可以i應用到所有負載均衡的功能 數據庫 web服務等
四層負載均衡,根據連接進行保存。 斷開,連接。進行輪訓。TCP四層負載均衡使用長連接方式,只要客戶端與服務器端保持連接,Nginx不會輪訓到下一台服務器。
Http當你發送一次新的數據,就會輪訓到下一台服務器上。(發一條,就是一次請求)
區別:TCP保持長連接
HTTP沒法送一次新的報文,輪訓到下一台。
Socket入門
什么是Socket?
Socket就是為網絡服務提供的一種機制。
通訊的兩端都有Sokcet
網絡通訊其實就是Sokcet間的通訊
數據在兩個Sokcet間通過IO傳輸。
TCP與UDP在概念上的區別:
udp: a、是面向無連接, 將數據及源的封裝成數據包中,不需要建立連接
b、每個數據報的大小在限制64k內
c、因無連接,是不可靠協議
d、不需要建立連接,速度快
tcp:
a、建議連接,形成傳輸數據的通道.
b、在連接中進行大數據量傳輸,以字節流方式
c 通過三次握手完成連接,是可靠協議
d 必須建立連接m效率會稍低
Http協議組成部分
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也可以哦