1. 程式人生 > >今天再次接觸高可用和負載均衡,相關理解如下

今天再次接觸高可用和負載均衡,相關理解如下

LV 通信協議 文件的 另一個 心跳 輪詢 依次 數據幀 keepaliv

  一般來講,多臺服務器搭建成一個集群來運行相應的程序,這樣會避免單點故障,同時提升服務器的承載能力。

  高可用,可稱為"HA"也叫做雙機熱備,同時實現高可用一般使用keepalived,且keepalived還支持負載均衡的作用。高可用原理是:一條心跳線同時連接兩臺服務器,若當中的一臺服務器宕機了,備用服務器會出來頂替宕機的服務器繼續運行。

  對於keepalive核心為三要素:core模塊,check模塊還有vrrp協議。core為主核心,作用是負責master的啟動、全局配置文件的解析,check模塊是負責服務器健康的檢查;VRRP是通信協議,通過其實現高可用。

  負載均衡,多臺服務器一起去分擔應用被訪問時的壓力。開源軟件比較受歡迎LVS和keepalive、Nginx、haproxy。主要了解了LVS,LVS是對TCP|IP協議做路由轉發,它的類型分為三類:NAT模式、IP隧道、DR模式

  NAT模式:與iptables中的nat表是同樣的關系,會通過一個調度器,而調度器會把請求通過預先設計好的iptables規則轉發到後臺真實的服務器。一般來說,一個公網ip和一個內網IP,這個優點節省公網ip

  IP隧道:將IP報文封裝在另一個報文裏,這可以使數據報文能轉發到另一個IP地址上。缺點是:調度器和真實服務器都需要配備公網IP

  DR模式:這種模式不會封裝IP報文,只會將數據幀的MAC地址改為真實的服務器MAC地址。

  LVS調度的算法:

  (1)輪詢調度RR:請求依次發送給後臺服務器

  (2)帶權重的輪詢調度WRR:權重越高的服務器收到的請求數越多,這可以根據服務器性能設置權重

  (3)最小連接調度LC:根據服務器當前的連接數來決定新的請求分發給哪一臺,當前連接數多,分發概率小

  (4)帶權重的最小連接調度WLC:意思就是控制了服務器性能和當前連接數的參數,共同決定新的請求分發給哪一臺

  (5)基於局部性的最少連接調度

  (6)帶復制的基於局部性最少連接調度

  (7)目標地址散列調度

  (8)源地址散列調度

  主流運用的基本是前四種,所以這裏就敘述前四種吧 哈哈

今天再次接觸高可用和負載均衡,相關理解如下