LVS調度方法

lvs scheduler:

    根據其調度時是否考慮后端主機的當前負載,可分為靜態方法和動態方法

    靜態方法:僅根據算法本身進行調度:

        RR:Round Ronin 輪詢

        WRR:Weighted Round Ronin 加權輪詢

        SH:Source Hash 將客戶端的源IP和調度后的RS轉換為hash值(key/value),保存在Director的會話表中,下一次連接時直接查找會話表進行轉發,而不需要重新調度

           在用戶使用NAT上網時,因一內網中不同用戶使用的源IP都是NAT后的某個IP,SH的調度方式很粗糙(LVS無法基于COOKIE做負載均衡)

        DH:Destination Hash 將客戶端請求的目標地址和調度后的RS轉換為hash至,保存在Director的會話表中,下一次連接時直接查找會話表進行轉發,而不需要重新調度

           通常用在正向web代理(緩存),負載均衡內網用戶對外部服務器的請求

           哈希的是目標地址

     動態方法:根據算法及各RS當前的負載狀態進行調度

         Overhead:RS當前的負載值

         Overhead相同的情況下,按可用RS列表進行輪詢

         LC:least connections,最少連接

           Overhead=Active*256+Inactive   (活動連接*256+非活動連接)  非活動連接即服務器等待客戶端發送請求,而客戶端并不發送

           根據各RS的Overhead選擇負載最小的服務器

         WLC:Weighted LC 加權最小連接     

           Overhead=(Active*256+Inactive)/weight

         SED:Shortest Expections Delay    主要用于解決在空閑狀態下,連接能夠被分配至權重最大的服務器

           Overhead=(Active+1)*256/weight

         NQ:Nerver Queue    優先保證每臺服務器上均分配到連接,之后根據Overhead值進行分配

         LBLC:Locallity-Based LC  基于本地的最少連接

            動態DH算法:對同一個目前請求進行動態的負載均衡,損失命中率而提高了均衡性

         LBLCR:LBLC算法的改進,如在各web緩存RS服務器上可以相互同步緩存數據

            帶復制功能的LBLC

         WLC動態算法是最為通常,而且是默認的動態算法

 負載均衡集群中保持會話一致的方式:

     (1)源地址哈希;

     (2)會話集群:適用于小規模RS集群場景,將多臺RS組件一個Seesion cluster,保證每臺服務器上的會話內容都一致

     (3)會話服務器:創建一個共享存儲用于保持會話數據(需要支持KV類型的數據庫,如redis、hbase等)

原創文章,作者:oranix,如若轉載,請注明出處:http://www.www58058.com/66284

(0)
oranixoranix
上一篇 2017-01-10
下一篇 2017-01-10

相關推薦

  • 第四周作業

    Linux系統文件管理使用案例 1、 復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 首先,利用cp命令將/etc/skel目錄復制為/home/tuser1: [root@localhost ~]# cp -r /etc/skel /home/tuser1 隨后通過chmo…

    Linux干貨 2018-03-24
  • MySQL與nfs的實驗

    (1) 創建一個共享mydata,路徑為/mysql/data,客戶端1掛載至/mydata;而后客戶端1主機安裝mysql或mariadb,將數據目錄設定為/mydata,要確保mysql服務能正常 運行,但數據目錄位于samba server上; (2) 客戶端2主機使用類似客戶端1主機的方式掛載mydata共享至本地的/mydata目錄,而后,直接安裝…

    Linux干貨 2016-10-30
  • 企業實時同步方案—-Sersync介紹

    原創作品,允許轉載,轉載時請務必以超鏈接形式標明文章 原始出處 、作者信息和本聲明。否則將追究法律責任。http://nolinux.blog.51cto.com/4824967/1433109 Sersync 項目利用 Inotify 和 Rsync 技術實現對服務器數據實時同步的解決方案,其中 Inotify 用于監控 Sersync…

    Linux干貨 2016-08-15
  • dd工具

    dd     dd命令:convert and copy a file     用法:        ddif=/PATH/FROM/SRC of=/PATH/TO/DEST       &…

    Linux干貨 2016-09-02
  • 軟件包管理

    軟件包管理 軟件運行和編譯 ABI:應用程序二進制接口;直接給編譯好的二進制使用; windows與linux不兼容, windows: ELF linux: PE 庫級別的虛擬化: linux:WINE windows:Cywin API:定義了和庫之間的接口;編寫應用程序時調用的函數之類的; 編譯程序源代碼(.c) –> 預編譯(.i)…

    Linux干貨 2017-04-21
  • 第八周博客作業

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態; 在線的主機使用綠色顯示; 不在線的主使用紅色顯示; #!/bin/bash declare -i i=1 ping_172() { if ping -W 1 -c 1 172.16.250.$1 &> /dev/null; th…

    Linux干貨 2017-05-22
欧美性久久久久