天天看點

01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能

負載均衡 HA haproxy

  • web架構
    • 單機房架構
    • 多機房架構
    • 公有雲架構
    • 私有雲架構
  • SLB技術原理淺析
    • SLB功能介紹
    • SLB技術架構
  • 負載均衡
    • 為什麼使用負載均衡
    • 負載均衡類型
      • 四層 通過端口做負載
      • 七層 可以通過端口、url 做負載
      • 硬體
    • 應用場景
  • HAProxy功能
    • 支援功能

前言:最近項目組需要搭建一個高可用系統,用到的是keepalived+haproxy的架構技術,作為小白的我也是搜了很多資料,最終測試環境部署成功。雖然實作了應有的功能,但是對于haproxy的更多功能也是一直半解,通過該文章做一個系統的複習。

web架構

HAProxy:做負載均衡,将請求配置設定到 PHP A B C 三台伺服器上。

但是當HA當機時,就必須切換位址通路另一台HA伺服器

過Keepalived共享Ip位址,隻要有HA活着,就可以通過共享IP通路應用。

單機房架構

01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能

多機房架構

keepalived 解決共享Ip的問題。

多個機房的共享IP不同,怎麼辦?

這個問題其實是交給DNS伺服器解決。

01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能

公有雲架構

01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能

私有雲架構

01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能

SLB技術原理淺析

SLB功能介紹

SLB(Server Load Balance)服務通過設定虛拟服務位址(IP),将位于同一地域(Region)的多台雲伺服器(Elastic Compute Service,簡稱ECS)資源虛拟成一個高性能、高可用的應用服務池;再根據應用指定的方式,将來自用戶端的網絡請求分發到雲伺服器池中。

SLB服務會檢查雲伺服器池中ECS的健康狀态,自動隔離異常狀态的ECS,進而解決了單台ECS的單點問題,同時提高了應用的整體服務能力。在标準的負載均衡功能之外,SLB服務還具備TCP與HTTP抗DDoS攻擊的特性,增強了應用伺服器的防護能力。

SLB服務是ECS面向多機方案的一個配套服務,需要同ESC結合使用。

SLB技術架構

  • 四層負載均衡,采用開源軟體LVS(linux virtual server),并根據雲計算需求對其進行了定制化;
  • 七層負載均衡,采用開源軟體Tengine;
  • 控制系統,用于 配置和監控 負載均衡系統;

參考文章:https://developer.aliyun.com/article/1803

負載均衡

負載均衡:Load Balance,簡稱LB,是一種服務或基于硬體裝置等實作的高可用反向代理技術,負載均衡将特定的業務(web服務、網絡流量等)分擔給指定的一個或多個後端特定的伺服器或裝置,進而提高了公司業務的并發處理能力、保證了業務的高可用性、友善了業務後期的水準動态擴充。

01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能

為什麼使用負載均衡

  • Web伺服器的動态水準擴充–>對使用者無感覺
  • 增加業務并發通路及處理能力–>解決單伺服器瓶頸問題
  • 節約公網IP位址–>降低IT支出成本
  • 隐藏内部伺服器IP–>提高内部伺服器安全性
  • 配置簡單–>固定格式的配置檔案
  • 功能豐富–>支援四層和七層,支援動态下線主機
  • 性能較強–>并發數萬甚至數十萬

負載均衡類型

四層 通過端口做負載

  • LVS:Linux Virtual Server
  • HAProxy:High Availability Proxy
  • Nginx:1.9版之後

七層 可以通過端口、url 做負載

  • HAProxy
  • Nginx

硬體

  • F5 https://f5.com/zh
  • Netscaler https://www.citrix.com.cn/products/citrix-adc/
  • Array https://www.arraynetworks.com.cn/
  • 深信服 http://www.sangfor.com.cn/
  • 北京靈州 http://www.lingzhou.com.cn/cpzx/llfzjh/

應用場景

  • 四層:Redis、Mysql、RabbitMQ、Memcache等
  • 七層:Nginx、Tomcat、Apache、PHP、圖檔、動靜分離、API等

HAProxy功能

HAProxy功能

01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能
01 HA haproxy 功能簡介以及應用web架構SLB技術原理淺析負載均衡HAProxy功能

支援功能

  • TCP 和 HTTP反向代理
  • SSL/TSL伺服器
  • 可以針對HTTP請求添加cookie,進行路由後端伺服器
  • 可平衡負載至後端伺服器,并支援持久連接配接
  • 支援所有主伺服器故障切換至備用伺服器
  • 支援專用端口實作監控服務
  • 支援停止接受新連接配接請求,而不影響現有連接配接
  • 可以在雙向添加,修改或删除HTTP封包首部
  • 響應封包壓縮
  • 支援基于pattern實作連接配接請求的通路控制
  • 通過特定的URI為授權使用者提供詳細的狀态資訊
  • 支援http反向代理
  • 支援動态程式的反向代理
  • 支援基于資料庫的反向代理

繼續閱讀