一文了解HAProxy主要特性

2020-09-05 RancherLabs

在Kubernetes中,Ingress對象定義了一些路由規則,這些規則規定如何將一個客戶端請求路由到指定服務,該服務運行在你的集群中。這些規則可以考慮到輸入的HTTP消息的獨特方面,包括其Host請求頭和URL路徑,這將允許你在請求中使用數據發現將流量從一個服務發送到另一個服務。那意味著你能夠使用Ingress對象來為許多不同的應用程式定義路由。


雖然Ingress對象定義路由,但Ingress Controller是驅動它們的引擎。Ingress Controller是一個位於客戶端和服務之間的代理,其作用是正確地傳遞消息。目前市面上已經有幾個項目實現了Ingress Controller規範,每個項目都有其優勢。Rancher提供了一個基於NGINX的默認controller,但你並不需要局限於此。Rancher已經和HAProxy達成合作,因此你也可以選擇使用HAProxy Ingress Controller。我們傾向於把HAProxy Ingress Controller看作是一個完美的Kubernetes的渦輪增壓引擎,能夠充分提升Kubernetes的使用效率。


HAProxy Ingress Controller的特性


你可以在Rancher應用商店中找到HAProxy,此外你還可以在HAProxy的官方文檔(https://www.haproxy.com/documentation/hapee/latest/installation/rancher/)中找到HAProxy的安裝細節。設置完成之後,HAProxy將會自動監聽和實現Ingress規則。此時,你可以選擇禁用NGINX Ingress Controller或保持兩個Ingress controller都運行並通過名稱指定其中一個。


HAProxy的功能特性包括以下內容:


零宕機重載


包括NGINX Ingress Controller在內的許多代理類型,重載都會導致短暫的時間窗口,此時後端服務不可用。在許多情況下,當HAProxy需要刷新其配置時,它可以完全避免重新加載。


它的Runtime API允許完全在內存中實現更改。然而,由於HAProxy的無中斷重載,需要重載的更改不會導致停機。這意味著,無論你何時從Ingress規則中添加或刪除路徑、更新Secret或更改注釋都不會對流量產生影響。


增壓性能


由於HAProxy對性能的關注,你會發現每秒可處理的請求數會立即受到影響——明顯增加。此外,通過彈性二進位樹等獨特的算法,HAProxy比其他controller使用更少的資源。


可觀察性


使用Stats頁面、Runtime API和raw configuration,你可以輕鬆查看配置好的Pod以及相關聯的後端和它們的健康狀態。默認的Ingress controller會要求你安裝krew以查看這一信息。

HAProxy提供大量有關流向你的集群的流量指標。在HAProxy Stats頁面上,你將找到用於跟蹤請求率、響應時間、活動連接、成功和錯誤響應以及通過的數據量的統計數據。這篇文章(https://www.haproxy.com/blog/exploring-the-haproxy-stats-page/)介紹了所有提供的指標,這些指標也是通過Prometheus端點暴露的。


HAProxy會發布詳細的日誌,其中包含請求時間數據,可以讓你精確地指出請求中的慢速,斷開代碼將顯示請求終止的方式和原因,以及顯示整個集群中的活躍連接數。


可調整的負載均衡


與其他Ingress Controller相比,HAProxy提供了更多的負載均衡算法,包括輪詢法(Round Robin)、最小連接和基於哈希的算法。這種選擇很重要,因為不同類型的服務在不同類型的負載分布中表現出色。例如,保持連接時間較長的服務在使用最小連接算法時表現更好,該算法在向伺服器發送新客戶端之前檢查伺服器的繁忙程度。你可以在你的Ingress對象中通過添加一個名為haproxy.org/load-balance的注釋來定義,使用均衡文檔中列出的值(https://www.haproxy.com/documentation/hapee/latest/onepage/#balance)。


一旦你啟用HTTPS,HAProxy就會自動啟用端到端的HTTP/2。NGINX在客戶端支持HTTP/2,同時HAProxy也支持通過HTTP/2連接到你的pods。此外,HAProxy還支持gRPC服務的端到端streaming。


增強的安全性


諸如白名單IP位址以及強制速率限制等安全功能形成了一個重要的保護層。使用HAProxy,這些功能都能夠立刻實現並且你可以使用注釋調整它們。當你的集群託管多個服務時,速率限制是至關重要的,因為你一定不會希望一個服務佔用所有的帶寬。


過載保護隊列


HAProxy的連接隊列提供了對流量峰值的保護。通過在Kubernetes服務上設置pod-maxconn注釋,一組pod會獲得最大並發連接數限制,額外的連接數會被排隊,從而防止pod超載。


結 論


本文介紹了HAProxy的6個主要特性,可以幫助你更清晰地了解HAProxy Ingress Controller的優勢。如果你還想更深入地了解HAProxy,你也可以通過Rancher應用商店輕鬆部署它,並根據官方文檔(https://www.haproxy.com/documentation)的指引進行嘗試才能對其有更深入的了解和體會,也能幫助你選出合適自己的Ingress Controller。

相關焦點

  • HAProxy負載均衡器的安裝及配置
    當 前,HAProxy支持兩種主要的代理模式:"tcp"也即4層(大多用於郵件伺服器、內部協議通信伺服器等),和7層(HTTP)。在4層模式 下,HAProxy僅在客戶端和伺服器之間轉發雙向流量。我現在用HAProxy主要在於它有以下優點,這裡我總結下:一、免費開源,穩定性也是非常好,這個可通過我做的一些小項目可以看出來,單Haproxy也跑得不錯,穩定性可以與LVS相媲美;二、根據官方文檔,HAProxy可以跑滿10Gbps-New benchmark of HAProxy at
  • Haproxy 1.5.0 正式發布,Web 負載均衡
    相對於 1.4 版本來說,1.5 版本包括了許多新特性和性能改進:支持 SNI/NPN/ALPN 和 OCSP stapling 的原生 SSL;支持 IPv6 和 UNIX sockets;full HTTP keep-alive for better support of NTLM
  • 負載均衡-haproxy-keepalived-主從搭建
    環境os:centos6.6keepalived+haproxyhapromaster 192.168.1.13haproslave 192.168.1.12vip 192.168.1.21、keepalived安裝yum install keepalived*2、配置haproxy主cat /etc
  • Haproxy + keepalived 負載均衡日誌定製
    因keepalived日誌內容較少,可與haproxy日誌共用存儲空間。比如我的項目裡,用/data/logs作為日誌的存儲路徑(/data最好用獨立的分區或者磁碟),haproxy日誌名稱haproxy.log,keepalived日誌名稱keepalived.log。若果對日誌保留又要求,需要歸檔及輪轉。
  • 如何在Linux上使用HAProxy配置HTTP負載均衡系統?
    其功能特性包括:自動檢查健康狀況、可定製的負載均衡算法、支持HTTPS/SSL以及會話速率限制等。我們在本教程中要達到什麼樣的目的?在本教程中,我們將逐步介紹為HTTP網站伺服器配置基於HAProxy的負載均衡系統這個過程。
  • keepalived+Haproxy解決會話保持和七層處理?
    haproxy配置文件global log 127.0.0.1 local1 maxconn 4096 chroot /usr/share/haproxy daemondefaults log
  • Haproxy是啥?能幹啥?
    Haproxy與keepalived VRRP 介紹軟體:haproxy---主要是做負載均衡的7層,也可以做4層負載均衡 apache也可以做7層負載均衡,但是很麻煩。實際工作中沒有人用。負載均衡是通過OSI協議對應的 7層負載均衡:用的7層http協議, 4層負載均衡:用的是tcp協議加埠號做的負載均衡ha-proxy概述ha-proxy是一款高性能的負載均衡軟體。因為其專注於負載均衡這一些事情,因此與nginx比起來在負載均衡這件事情上做更好,更專業。
  • Haproxy負載均衡+Keepalived高可用集群實戰
    一、Haproxy概述 一種高效、可靠根據cookie來鎖定並哈希每一次TCP請求五.Haproxy的配置Haproxy的配置過程分為3個主要部分 Haproxy配置文件的配置方法主要有兩種,一種是由前端(frontend)和後端(backend)配置塊組成,前端和後端都可以有多個。第二種方法是只有一個listen配置塊來同時實現前端和後端。最常用也是推薦的方法為第一種,即frontend和backend的模式。
  • 搭建高可用負載均衡器: haproxy+keepalived
    和keepalived搭建一個負載均衡器2 準備2.1 準備環境準備5臺CentOS7.3主機和一個VIP位址:·準備一個可用IP用作虛擬IP(VIP):VIP: 192.168.1.100·負載均衡器會用到2臺主機,一主一備的架構lb1(默認為主): 192.168.1.101lb2
  • 使用Haproxy輕鬆解決SMTP發信伺服器源IP暴露問題
    有兩種方法,一個是集成第三方郵件代發,技術成本較高,不推薦,需要了解的可以前往張戈博客了解,第二個就是今天技術宅提供的方法,使用Haproxy輕鬆解決SMTP發信伺服器源IP暴露問題!什麼是HaproxyHaproxy是一款功能強大、靈活好用反代軟體,提供了高可用、負載均衡、後端伺服器代理的功能,它在7層負載均衡方面的功能很強大(支持cookietrack, header rewrite等等),支持雙機熱備,支持虛擬主機,擁有非常不錯的伺服器健康檢查功能,當其代理的後端伺服器出現故障, Haproxy會自動將該伺服器摘除,故障恢復後再自動將該伺服器加入
  • 電商運營主要是做什麼?一文帶你了解,電商運營的工作內容
    文 | 羅sir隨著電子商務和移動網際網路的火熱,電商運營崗也成為了近幾年的大熱門很多想轉崗做運營的朋友對電商運營的主要工作內容卻不甚了解。今天羅sir就為大家科普一下,電商運營究竟是做什麼的。其實電商運營並不神秘,主要是負責用數據分析消費者的行為喜好,並以此為商品提供營銷策劃實現銷量的上漲。
  • 大廚帶你一文了解,10種常見食用粉特性用途
    大廚帶你一文了解,10種常見食用粉特性用途!「泰國生粉等於生粉?」、「生粉又等於粟粉或鷹粟粉?」每次煮飯的時候,經常都會用到生粉、鷹粟粉……但食用粉那麼多,又怎樣分辨呢?雖然每一款食用粉都有各自或相近用途,不過因為不同的名字或者材料上有少許不同,而令人混淆。以下文章便有助你簡單分辨常用的食用粉!
  • 一文了解碳化矽陶瓷相關特性與應用領域
    一、碳化矽陶瓷及其性能特點21世紀,隨著科學技術的發展,信息、能源、材料、生物工程已經成為當今社會生產力發展的四大支柱,碳化矽由於化學性能穩定、導熱係數高、熱膨脹係數小、密度小、耐磨性能好、碳化矽陶瓷是從20世紀60年代開始發展起來的,之前碳化矽主要用於機械磨削材料和耐火材料。世界各國對先進陶瓷的產業化十分重視,現在已經不僅僅滿足於製備傳統碳化矽陶瓷,生產高技術陶瓷的企業發展更快,尤其是發達國家。近幾年以碳化矽陶瓷為基的復相陶瓷相繼出現,改善了單體材料的韌性和強度。碳化矽主要的四大應用領域,即功能陶瓷、高級耐火材料、磨料及冶金原料。
  • 一文讀懂 HTTP/2 特性
    一文讀懂 HTTP/2 特性 HTTP/2 是 HTTP 協議自 1999 年 HTTP 1.1 發布後的首個更新,主要基於 SPDY 協議。由網際網路工程任務組(IETF)的 Hypertext Transfer Protocol Bis(httpbis)工作小組進行開發。
  • RTX30系列顯卡為我們帶來了哪些新特性?一文帶你了解RTX30系顯卡
    相信不少玩家已經看過9月2日凌晨的NVIDIA RTX30系列顯卡發布會,老黃在廚房裡進行一場30系顯卡新品發布,包括RTX3090、RTX3080以及RTX3070,全方位幫大家了解了一下30系列顯卡。為了照顧到沒有看發布會的玩家,本文帶來了詳細的文字介紹。那麼NVIDIA RTX30系列顯卡為我們帶來了哪些新特性?一文帶你了解RTX30系顯卡。
  • 一文了解頻譜分析儀的原理
    打開APP 一文了解頻譜分析儀的原理 工程師之餘 發表於 2018-11-07 16:49:20 頻譜分析儀工作原理
  • 一文簡要了解碳纖維複合材料的特性、生產流程及加工方法
    1、碳纖維的優異特性1.1 主要力學性能:①高強度②高模量③低密度④低蠕變率⑤吸振性良好
  • 一文了解動力煤期權
    想全面了解動力煤期權合約、開立條件、基本概況?一文全搞定!  二、合約乘數  動力煤期權的合約乘數與標的期貨相同  三、最小變動價位  談到最小變動價位,不得不了解一下Greeks值—Delta。  四、漲跌停板幅度  漲停板價格 = 期權合約上一交易日結算價+標的期貨合約上一交易日結算價×標的期貨合約漲停板的比例;  跌停板價格 = Max(期權合約上一交易日結算價-標的期貨合約上一交易日結算價×標的期貨合約跌停板的比例,期權合約最小變動價位)。
  • 一文了解iBeacon
    雖然iBeacon從誕生到現在已經有6年多的時間,但若不是圈內(專門從事iBeacon技術的相關人員)對iBeacon的了解還是相當不到位,或者不能清晰的對iBeacon進行清晰的定位。本文從技術角度來闡述iBeacon,期望通過深入淺出的介紹,可以快速入門。在了解市場應用之前,先了解下iBeacon是如何工作的。