高併發與負載均衡——網絡TCP-IP基礎知識

一、網絡分層

1.七層(接口):解耦,便於開發

應用層:

  • 7.應用層:nginx,軟件,瀏覽器,DNS
  • 6.表示層

傳輸層:

  • 5.會話層
  • 4.傳輸層:lvs負載均衡

網絡層:

  • 3.網絡層

鏈路層

  • 2.鏈路層
  • 1.物理層 

2.四層:TCP/IP協議,OSI 7L參考模型對7層的簡化分層和實現

舉例:GET / www.baidu.com/

1.應用層(應用層+表示層糅合):對數據與字符串的封裝

  • http:字符串書寫格式與兩端方法的交互方式的定義
  • smtp
  • ssh

4.傳輸層(會話層+傳輸層糅合)控制):[三次握手>>(傳輸數據)>>四次揮手]

  • 連接的定義:非物理的連接,是邏輯連接,是一種狀態的確認(對TCP來說,就是三次握手的狀態確認)
  • tcp:面向連接(狀態)的可靠傳輸協議
    • 過程:客戶端和服務端通信,客戶端從65535個端口號中申請一個端口號和服務器固定端口進行通信(一般來說是80端口),三次握手成功後,客戶端和服務端會各自開闢一個線程來進行通信。所以高併發問題會產生在線程數量和線程池方面。
  • udp:不是面向連接的,不可靠的
  • socket:   IP:PORT-IP:PORT
  •          -netstat  -natp

5.網絡層:192.168.9.11

  • ip.icmp
  • ROUTE:下一跳
  •       -route   -n

6.鏈路層(鏈路層+物理層糅合):

  • 以太網:Ethernet:MAC
  • ARP:全F,兩點通信,交換機學習
    • arp -a

nginx:負載5w臺,處在應用層需要在傳輸層建立三次握手後才能進行應用層數據解析和負載

lvs負載均衡:負載10w臺,工作在傳輸層在三次握手>>數據傳輸>>四次揮手的整個過程中都可以監視數據包的狀態,來進行快速的負載均衡,但是由於lvs沒有權限觀看應用層數據,所以屬於瞎子負載,不會根據數據包的真實業務需求來進行業務負載可能導致將數據包發送到錯誤的服務器(不幹這個業務的服務器)這時需要nginx和lvs負載搭配使用來可以達到百萬級別負載能力。也就是流量先集中在lvs負載均衡服務器,然後這些lvs負載均衡服務器將這些數據發送給它後面的nginx服務器,再由nginx服務器做負載均衡,發送給後臺的各種業務功能的tomcat服務器。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章