您好,登錄后才能下訂單哦!
Haproxy是目前比較流行的一種群集調度工具,同類群集調度工具有很多,如LVS和Nginx。相比較而言,LVS性能最好,但是搭建相對復雜,Nginx的upstream模塊支持群集功能,但是相對群集節點健康檢查功能不強,性能沒有Haproxy好,更多的是應用在企業內網環境中。
HAProxy雖然名字前有HA,但它并不是一款高可用軟件,而是一款用于實現負載均衡的軟件,可實現四層與七層的負載均衡。
上述幾個web群集調度器屬于軟件類型的,還有很多硬件群集調度器,硬件一般使用比較多的是F5,也有很多公司使用國產的一些產品,如梭子魚、綠盟等。硬件群集調度器有一些比較顯而易見的缺點,如果說出問題了,還要需要廠家的技術支持,廠家維護時還需要我們的錯誤日志,在出現問題到問題解決這段時間,可能一個月的時間都過去了。若是使用軟件型的群集調度器,那么只要我們運維人員技術過硬,發現問題到解決問題,很快的。
關于haproxy的常用調度算法,可以參考博文:Haproxy支持的調度算法。
haproxy的詳細配置過程和配置日志記錄,可以參考博文:keepalived+Haproxy搭建高可用Web群集。
這篇博文不談如何配置haproxy,主要來聊一下它的配置文件說明以及生產環境中的參數調優。
haproxy的配置文件通常分為三個部分:global、defaults和listen。依次為全局配置、默
認配置、應用組件配置。
global配置:
global????????log?127.0.0.1???local???#配置日志記錄,local0為日志設備,默認存放到系統日志 ????????log?127.0.0.1???local1?notice??#notice為日志級別,通常有24個級別 ????????#log?loghost????local0?info ????????maxconn?4096?????????????#最大連接數 ????????chroot?/usr/share/haproxy?????????#該服務自設置的根目錄,一般需將此行注釋掉 ????????uid?99?????????#用戶UID ????????gid?99????????#用戶GID ????????daemon????????#守護進程模式
defaults配置項配置默認參數,一般會被應用組件繼承,如果在應用組件中沒有特別的聲明,將安裝默認配置參數:
defaults????????log?????global???????????????#定義日志為global配置中的日志定義 ????????mode????http?????????????????#模式為http ????????option??httplog??????????????#采用http日志格式記錄日志 ????????option??dontlognull ????????retries?3?????????#檢查節點服務器失敗次數,連續達到三次失敗,則認為節點不可用 ????????redispatch?????????????#當服務器負載很高時,自動結束當前隊列處理比較久的連接 ????????maxconn?2000??????????????????????#最大連接數 ????????contimeout??????5000??????????????#連接超時時間 ????????clitimeout??????50000?????????????#客戶端超時時間 ????????srvtimeout??????50000?????????????#服務器超時時間
listen配置項一般配置應用模塊參數:
listen??appli4-backup?0.0.0.0:10004???????????#定義一個名為appli4-backup的應用 ????????????????option??httpchk?/index.html????????#檢查服務器的index.html文件 ????????????????option??persist?????#強制將請求發送到已經down掉的服務器,一般禁用此選項。 ????????????????balance?roundrobin????????#負載均衡調度算法使用輪詢算法 ????????????server??inst1?192.168.114.56:80?check?inter?2000?fall?3?????#定義在線節點 ?????????server??inst2?192.168.114.56:81?check?inter?2000?fall?3?backup?#定義備份節點#注意:在以上定義備份節點的參數中,#“check?inter?2000”表示haproxy服務器和節點之間的一個心跳頻率,#“fall?3”表示連續三次檢測不到心跳頻率則認為該節點失效。#節點配置后帶有“?backup”表示該節點只是個備份節點,只有主節點失效該節點才會上。#去除backup,表示為主節點,和其他主節點共同提供服務。
haproxy的參數調優:
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。