欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

haproxy實(shí)現(xiàn)反向代理和負(fù)載均衡

反向代理服務(wù)器功能:web緩存(加速)、反向代理、內(nèi)容路由(根據(jù)流量及內(nèi)容類型等將請(qǐng)求轉(zhuǎn)發(fā)至特定服務(wù)器)、轉(zhuǎn)碼器

創(chuàng)新互聯(lián)長(zhǎng)期為千余家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為瀏陽(yáng)企業(yè)提供專業(yè)的網(wǎng)站設(shè)計(jì)制作、網(wǎng)站制作,瀏陽(yáng)網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。

緩存:減少冗余內(nèi)容傳輸;節(jié)省帶寬、緩解網(wǎng)絡(luò)瓶頸;降低了對(duì)原始服務(wù)器的請(qǐng)求壓力;降低了傳輸延遲,公共緩存每個(gè)人都可以使用,帶有敏感數(shù)據(jù)的私有緩存則只對(duì)限定某類或某個(gè)人使用

nginx可實(shí)現(xiàn)緩存功能,haproxy不能實(shí)現(xiàn)緩存功能,這里只說(shuō)明其反向代理功能和負(fù)載均衡功能

yuminstallhaproxy 主配置文件haproxy.cfg 開(kāi)啟日志功能: 編輯/etc/rsyslog.conf文件 $ModLoadimudp $UDPServerRun514#開(kāi)啟udp514端口 local2.*/var/log/haproxy.log 編輯/etc/haproxy/haproxy.cfg文件: log127.0.0.1local2 配置負(fù)載均衡后端主機(jī): global log127.0.0.1local2 chroot/var/lib/haproxy pidfile/var/run/haproxy.pid maxconn4000定義面向客戶端的總的連接數(shù)(面向客戶端那一面) userhaproxy grouphaproxy daemon #turnonstatsunixsocket statssocket/var/lib/haproxy/stats #--------------------------------------------------------------------- #mainfrontendwhichproxystothebackends #--------------------------------------------------------------------- frontendmain*:80#第一種方式 #bind*:80#第二種方式 #bind*:8080#只能用于frontend,listen; #maxconn也可以定義在這里或listen后,定義了單個(gè)實(shí)例的并發(fā)連接數(shù),如果在global段定義就是所有實(shí)例總的 default_backendwebsrvs #--------------------------------------------------------------------- #roundrobinbalancingbetweenthevariousbackends #--------------------------------------------------------------------- backendwebsrvs balanceroundrobin serverweb1192.168.20.7:80check#定義的名字web1會(huì)被加到請(qǐng)求首部發(fā)到后端,當(dāng)后端有虛擬主機(jī)時(shí)很有用 serverweb2192.168.20.8:80check

balance: 指明調(diào)度算法;幾種調(diào)度算法:

動(dòng)態(tài):權(quán)重可動(dòng)態(tài)調(diào)整
靜態(tài):調(diào)整權(quán)重不會(huì)實(shí)時(shí)生效
roundrobin: 輪詢,動(dòng)態(tài)算法,每個(gè)后端主機(jī)最多支持4128個(gè)連接;
static-rr: 輪詢,靜態(tài)算法,每個(gè)后端主機(jī)支持的數(shù)量無(wú)上限;
leastconn: 根據(jù)后端主機(jī)的負(fù)載數(shù)量進(jìn)行調(diào)度;僅適用長(zhǎng)連接的會(huì)話;動(dòng)態(tài);
hash-type:
map-based:取模法;靜態(tài);
consistent:一致性哈希法;動(dòng)態(tài);

下面的四種調(diào)度算法都基于上面的兩種hash-type

source:
uri:對(duì)uri的左半部分(?標(biāo)記之前的部分)或者整個(gè)uri做hash,除以后端服務(wù)器總權(quán)重后綁定到后端服務(wù)器
url_param: 根據(jù)url中的指定的參數(shù)的值進(jìn)行調(diào)度;把值做hash計(jì)算,并除以總權(quán)重;
hdr(<name>) :根據(jù)請(qǐng)求報(bào)文中指定的header(如use_agent, referer, hostname)進(jìn)行調(diào)度;把指定的header的值做hash計(jì)算得值除以總權(quán)重;
示例:

backendwebsrvs balancehdr(User-Agent) hash-typeconsistent serverweb1192.168.20.7:80check serverweb2192.168.20.8:80check

測(cè)試:

mode: 健康狀態(tài)檢測(cè)時(shí)基于何種協(xié)議
HAProxy的工作模式;默認(rèn)為tcp;有三種:tcp, http, health

只有客戶端和前端,后端都是用http通信才可以使用http模式

在front段也可以指定log:

frontendmain*:80 logglobal log127.0.0.2local3

使用use_backend 和acl定義后段

use_backend dynamic if url_dyn
use_backend static if url_css url_img extension_img

server段后可加的參數(shù):

backup:設(shè)定為備用服務(wù)器,僅在負(fù)載均衡場(chǎng)景中的其它server均不可用于啟用此server; check:?jiǎn)?dòng)對(duì)此server執(zhí)行健康狀態(tài)檢查,其可以借助于額外的其它參數(shù)完成更精細(xì)的設(shè)定,如: inter<delay>:設(shè)定健康狀態(tài)檢查的時(shí)間間隔,單位為毫秒,默認(rèn)為2000;也可以使用fastinter和downinter來(lái)根據(jù)服務(wù)器端狀態(tài)優(yōu)化此時(shí)間延遲; rise<count>:設(shè)定健康狀態(tài)檢查中,某離線的server從離線狀態(tài)轉(zhuǎn)換至正常狀態(tài)需要成功檢查的次數(shù); fall<count>:確認(rèn)server從正常狀態(tài)轉(zhuǎn)換為不可用狀態(tài)需要檢查的次數(shù); cookie<value>:為指定server設(shè)定cookie值,此處指定的值將在請(qǐng)求入站時(shí)被檢查,第一次為此值挑選的server將在后續(xù)的請(qǐng)求中被選中,其目的在于實(shí)現(xiàn)持久連接的功能; maxconn<maxconn>:指定此服務(wù)器接受的并發(fā)連接數(shù);如果發(fā)往此服務(wù)器的連接數(shù)目高于此處指定的值,其將被放置于請(qǐng)求隊(duì)列,以等待其它連接被釋放; maxqueue<maxqueue>:設(shè)定請(qǐng)求隊(duì)列的長(zhǎng)度; observe<mode>:通過(guò)觀察服務(wù)器的通信狀況來(lái)判定其健康狀態(tài),默認(rèn)為禁用,其支持的類型有“layer4”和“layer7”,“layer7”僅能用于http代理場(chǎng)景; redir<prefix>:?jiǎn)⒂弥囟ㄏ蚬δ埽瑢l(fā)往此服務(wù)器的GET和HEAD請(qǐng)求均以302狀態(tài)碼響應(yīng);需要注意的是,在prefix后面不能使用/,且不能使用相對(duì)地址,以免造成循環(huán);例如: serversrv1172.16.100.6:80redirhttp://imageserver.magedu.comcheck weight<weight>:權(quán)重,默認(rèn)為1,值為256,0表示不參與負(fù)載均衡;

optionhttpchk optionhttpchk<uri> optionhttpchk<method><uri> 例如: backendhttps_relay modetcp optionhttpchkOPTIONS*HTTP/1.1rnHost:www.lee123.com serverapache1192.168.1.1:443checkport80 使用案例: serverfirst172.16.100.7:1080cookiefirstcheckinter1000 serversecond172.16.100.8:1080cookiesecondcheckinter1000

基于瀏覽器cookie實(shí)現(xiàn)session sticky:定義健康檢查方式可以使用option:

要點(diǎn): (1)每個(gè)server有自己惟一的cookie標(biāo)識(shí); (2)在backend中定義為用戶請(qǐng)求調(diào)度完成后操縱其cookie backendwebsrvs balanceroundrobin cookieSERVERIDinsertnocacheindirect serverweb1192.168.20.7:80checkcookiewebsrv1 serverweb2192.168.20.8:80checkcookiewebsrv2

測(cè)試:注意到cookie頭部的websrv1關(guān)鍵字了么?

開(kāi)啟統(tǒng)計(jì)頁(yè)面:

listenstatistics bind*:9090 statsenable statshide-version #statsscope. statsuri/haproxyadmin?stats statsrealm"HAPorxyStatistics" statsauthadmin:mageedu statsadminifTRUE

向日志中記錄額外信息:
capture request header
capture response header

當(dāng)mode為http時(shí),記錄豐富的日志信息:
option httplog----默認(rèn)是開(kāi)啟的

錯(cuò)誤頁(yè)面重定向:
errorfile: 使用haproxy主機(jī)本地文件進(jìn)行響應(yīng);
errorloc, errorloc302: 使用指定的url進(jìn)行響應(yīng),響應(yīng)狀態(tài)碼為302;不適用于GET以外的其它請(qǐng)求方法;
errorloc303:返回303狀態(tài)碼;

添加請(qǐng)求或響應(yīng)報(bào)文首部:
reqadd
rspadd

frontendmain bind*:80 bind*:8080 rspaddVia:node1.lee.com default_backendwebsrvs

出現(xiàn)了Via:

動(dòng)靜分離的示例: frontendmain bind*:80 bind*:8080 aclurl_staticpath_beg-i/static/images/javascript/stylesheets aclurl_staticpath_end-i.jpg.gif.png.css.js use_backendstaticifurl_static default_backendappsrvs #--------------------------------------------------------------------- #staticbackendforservingupimages,stylesheetsandsuch #--------------------------------------------------------------------- backendstatic balanceroundrobin serverstatic1192.168.20.7check serverstatic2192.168.20.8check backendappsrvs balanceroundrobin optionforwardforexcept127.0.0.1headerX-Client optionhttpchk cookieSERVERIDinsertindirectnocache serverweb1192.168.20.7:80checkcookieweb1 serverweb2192.168.20.8:80checkcookieweb2

分享題目:haproxy實(shí)現(xiàn)反向代理和負(fù)載均衡
網(wǎng)址分享:http://chinadenli.net/article32/cghisc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供動(dòng)態(tài)網(wǎng)站云服務(wù)器服務(wù)器托管靜態(tài)網(wǎng)站企業(yè)建站ChatGPT

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都定制網(wǎng)站建設(shè)