中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Haproxy搭建web集群

發布時間:2020-06-28 00:56:57 來源:網絡 閱讀:586 作者:老油桃 欄目:建站服務器

Haproxy搭建web集群
重點內容1:
1.四層負載均衡
1)DNS輪詢:將同一個域名解析為多個不同的ip地址實現負載均衡。
2)Nginx負載均衡:通過定義upstream 組名 {server ip:port weight=權重;…}后端服務,然后通過proxy_pass http://組名實現負載均衡。
3)LVS負載均衡:通過ipvsadm定義VIP(集群IP)和real server(后端服務器)調用linux內核(kernel)模塊ip_vs實現負載均衡。
2.haproxy負載均衡:通過定義listen(監聽),在監聽使用server定義后端web服務器,在balance指定調度算法實現負載均衡。
3.七層代理:
1)squid代理:在網站的前端搭建squid為用戶訪問提速,并提供ACL(訪問控制列表)功能。
2)nginx代理:proxy_pass及其他參數實現七層代理。
3)haproxy代理:通過監聽將用戶和后端服務進行映射實現代理。
4)apache代理:apache代理較為少用,主要是因為性能不佳。
總之:LVS性能最好,但配置復雜;nginx對集群節點健康檢查功能不強,性能不如haproxy。
重點內容2: HTTP請求:
1.http請求:通過URL(統一資源定位符)訪問網站就是http請求。
2.http請求狀態碼:URL訪問網站時會有一個數字表示請求的結果,如果2xx或3xx(如200/301)表示網站能正常訪問,如果是4xx或5xx(如404/500)表示訪問網站錯誤。
重點內容3: 負載均衡常用調度算法及web集群調度器:
1.負載均衡常用調度算法:RR(輪詢,依次分發任務)、LC(最小連接,根據當前集群節點處理請求量,將任務分發給處理請求量小的節點)、SH(來源訪問調度算法,根據客戶端的ip或cookie判斷客戶端上一次訪問的后端服務器并分發任務至此后端服務器)
2.常見的web集群調度器:DNS輪詢、nginx代理、LVS負載均衡、haproxy代理、硬件設備(如F5、梭子魚、綠盟)負載均衡器。
重點內容4: 部署HAPROX+nginx:
1.安裝nginx
2.安裝haproxy并配置haproxy
重點內容5: Haproxy配置文件:/etc/haproxy/haproxy.cfg
1)全局配置:
global # 全局參數的設置
log 127.0.0.1 local2

log語法:log <address_1>[max_level_1]

# 全局的日志配置,使用log關鍵字,指定使用127.0.0.1上的syslog服務中的local0日志設備,記錄日志等級為info的日志
chroot      /var/lib/haproxy      #改變當前工作目錄
pidfile     /var/run/haproxy.pid    #當前進程id文件
maxconn     4000           #最大連接數
user        haproxy         #所屬用戶
group       haproxy         #所屬組
daemon                     #以守護進程方式運行haproxy
stats socket /var/lib/haproxy/stats  #基于本地的文件傳輸

2)proxies(代理)配置參數:
mode http
#默認的模式mode { tcp|http|health },tcp是4層,http是7層,health只會返回OK
log global
#應用全局的日志配置
option httplog

啟用日志記錄HTTP請求,默認haproxy日志記錄是不記錄HTTP請求日志

option dontlognull

啟用該項,日志中將不會記錄空連接。所謂空連接就是在上游的負載均衡器或者監控系統為了探測該服務是否存活可用時,需要定期的連接或者獲取某一固定的組件或頁面,或者探測掃描端口是否在監聽或開放等動作被稱為空連接;官方文檔中標注,如果該服務上游沒有其他的負載均衡器的話,建議不要使用該參數,因為互聯網上的惡意掃描或其他動作就不會被記錄下來

option http-server-close
#每次請求完畢后主動關閉http通道
option forwardfor except 127.0.0.0/8
#如果服務器上的應用程序想記錄發起請求的客戶端的IP地址,需要在HAProxy上配置此選項, 這樣 HAProxy會把客戶端的IP信息發送給服務器,在HTTP請求中添加"X-Forwarded-For"字段。啟用X-Forwarded-For,在requests頭部插入客戶端IP發送給后端的server,使后端server獲取到客戶端的真實IP。
option redispatch
#當使用了cookie時,haproxy將會將其請求的后端服務器的serverID插入到cookie中,以保證會話的SESSION持久性;而此時,如果后端的服務器宕掉了, 但是客戶端的cookie是不會刷新的,如果設置此參數,將會將客戶的請求強制定向到另外一個后端server上,以保證服務的正常。
retries 3

定義連接后端服務器的失敗重連次數,連接失敗次數超過此值后將會將對應后端服務器標記為不可用

timeout http-request 10s #http請求超時時間
timeout queue 1m #一個請求在隊列里的超時時間
timeout connect 10s #連接超時
timeout client 1m #客戶端超時
timeout server 1m #服務器端超時
timeout http-keep-alive 10s #設置http-keep-alive的超時時間
timeout check 10s #檢測超時
maxconn 3000 #每個進程可用的最大連接數
frontend main :80 #監聽地址為80
acl url_static path_beg -i /static /images /javascript /stylesheets
acl url_static path_end -i .jpg .gif .png .css .js
use_backend static if url_static
default_backend my_webserver
#定義一個名為my_webserver前端部分。此處將對應的請求轉發給后端
backend static
#使用了靜態動態分離(如果url_path匹配 .jpg .gif .png .css .js靜態文件則訪問此后端)
balance roundrobin
#負載均衡算法(#banlance roundrobin 輪詢,balance source 保存session值,支持static-rr,leastconn,first,uri等參數)
server static 127.0.0.1:80 check
#靜態文件部署在本機(也可以部署在其他機器或者squid緩存服務器)
backend my_webserver
#定義一個名為my_webserver后端部分。PS:此處my_webserver只是一個自定義名字而已,但是需要與frontend里面配置項default_backend 值相一致
balance roundrobin #負載均衡算法
server web01 172.31.2.33:80 check inter 2000 fall 3 weight 30 #定義的多個后端
server web02 172.31.2.34:80 check inter 2000 fall 3 weight 30 #定義的多個后端
server web03 172.31.2.35:80 check inter 2000 fall 3 weight 30 #定義的多個后端
3)server詳解:
server <name> <address>[:[port]] [param
]
定義后端主機的各服務器及其選項 server <name> <address>[:port] [settings ...] default-server [settings ...]
<name>:服務器在haproxy上的內部名稱;出現在日志及警告信息
<address>:服務器地址,支持使用主機名
[:[port]]:端口映射;省略時,表示同bind中綁定的端口
[param]:參數
check:對當前server做健康狀態檢測,只用于四層檢測
注意:httpchk,“smtpchk”, “mysql-check”, “pgsql-check” and “sslhello-chk” 用于定義應用層檢測方法
addr :檢測時使用的IP地址
port :針對此端口進行檢測
inter <delay>:連續兩次檢測之間的時間間隔,默認為2000ms
rise <count>:連續多少次檢測結果為“成功”才標記服務器為可用 ;默認為2
fall <count>:連續多少次檢測結果為“失敗”才標記服務器為不可 用;默認為3
cookie <value>:為當前server指定cookie值,實現基于cookie的會話黏性
disabled:標記為不可用
redir <prefix>:將發往此server的所有GET和HEAD類的請求重定向至指 定的URL
weight <weight>:權重,默認為1
maxconn <maxconn>:當前server的最大并發連接數
backlog <backlog>:當server的連接數達到上限后的后援隊列長度
backup:設定當前server為備用服務器
default-server [param
] 為backend中的各server設定默認選項

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

南充市| 济宁市| 定远县| 大港区| 体育| 通江县| 夏河县| 谢通门县| 贵州省| 湖口县| 葵青区| 资阳市| 尚志市| 益阳市| 临漳县| 乳山市| 米易县| 牙克石市| 禹州市| 南投县| 铁岭市| 井冈山市| 大关县| 特克斯县| 天镇县| 句容市| 海盐县| 武冈市| 日照市| 灯塔市| 资讯| 准格尔旗| 化隆| 磐安县| 无锡市| 大名县| 波密县| 长岛县| 北京市| 新宁县| 华宁县|