Hatékony állapotellenőrzések végrehajtása a HAProxyban

Hatekony Allapotellenorzesek Vegrehajtasa A Haproxyban



A HAProxy beállítása terheléselosztóként nem teljes, ha nem veszi figyelembe a hatékony szerverállapot-ellenőrzéseket. Az egészségügyi ellenőrzések végrehajtása segít az alkalmazás megbízhatóságának és elérhetőségének javításában. A HAProxy támogatja az állapotellenőrzések végrehajtását, amelyek ellenőrzik a háttérkiszolgálókat, hogy megbizonyosodjanak arról, hogy azok egészségi állapota alkalmas-e a használatra.

Csak az állapotellenőrzésen átmenő szerverek kerülnek a rotációba. Így a szerver nem lesz kiválasztva használatra, ha nem megy át az állapotellenőrzésen, így minimálisra csökken az állásidő esélye. Ebben a bejegyzésben mélyebbre fogunk ásni annak megértésében, hogyan működnek a HAProxy állapotellenőrzései, és mi szükséges a hatékony állapotfelmérés végrehajtásához. Kezdjük!

Mik azok az egészségügyi ellenőrzések a HAProxyban

A HAProxy konfigurálásakor az egyik feladat annak meghatározása, hogy milyen háttérkiszolgálókat használjon az alkalmazáshoz. Így a forgalmat a szerverek között osztják szét, hogy elkerüljék a szerver túlterhelését. Az állapotellenőrzések azonban segítenek megbizonyosodni arról, hogy a kiszolgáló csak akkor van kiválasztva a forgalom kezelésére, ha az rendben van.







Az állapotellenőrzés minden kiszolgálón megtörténik, és csak azok, amelyek megfelelnek, hozzáadódnak a rotációhoz a terheléselosztáshoz. Az állapotellenőrzések végrehajtása kérések (például TCP vagy HTTP) elküldésével történik a háttérkiszolgáló egy előre meghatározott végpontjára. A háttérkiszolgáló által visszaküldött állapottal kapcsolatos eredmények határozzák meg annak állapotát. Például a szerver állapota UP vagy DOWN mutathat, vagy egy rendben lévő 200-as állapotot küldhet, amely megerősíti, hogy a szerver egészséges.



Az állapotellenőrzések konfigurálásakor győződjön meg arról, hogy van egy előre meghatározott végpontja az állapotellenőrzésekhez. Különféle lehetőségek állnak rendelkezésre a végpont beállításához. Például visszaküldhet állapotkódot vagy üzenetet a szerver állapotától függően. Az összes állapotellenőrzés a HAProxy konfigurációs fájljának háttérszakaszában van meghatározva. Nyissa meg a konfigurációs fájlt, és hozza létre a frontend szakaszt.



$ sudo nano /etc/haproxy/haproxy.cfg

Íme egy alapvető példa egy frontend szakaszra, amely összeköti a 80-as portot, beállít egy statisztikai oldalt, és meghatározza az alapértelmezett háttérprogramot.





A következő lépés a háttérszakasz létrehozása. Az alábbiakban különböző példák mutatják be a hatékony állapotellenőrzés végrehajtását a HAProxyban.



1. példa: Hatékony aktív állapotfelmérés végrehajtása

Az állapotellenőrzések HAProxyban való végrehajtásának egyszerű módja az aktív állapotellenőrzések beállítása. Ezzel az opcióval a HAProxy megpróbál csatlakozni a szerverhez. Ha nem érkezik válasz, akkor a szervert egészségtelennek ítéli, és eltávolítja a rotációból. Az aktív állapotellenőrzések végrehajtásának alapértelmezett módja a „check” kulcsszó hozzáadása minden szerversorhoz, hogy a HAProxy ellenőrizni tudja az összeset.

Bár ez az első példa működik, nem ez a legjobb módja az egészségügyi ellenőrzések végrehajtásának. Ezenkívül az alapértelmezett beállításokat használja. Például az ellenőrzések közötti intervallum, amelyet interként jelölünk, két másodpercre van beállítva. Az esés, a sikertelen ellenőrzések megengedett száma háromra van állítva. A beállítások módosításához adja meg az előnyben részesített időközt és az ellenőrzések számát az alábbi példában látható módon:

2. példa: HTTP állapotellenőrzés végrehajtása

HTTP állapotellenőrzéssel a HAProxy HTTP-kérést küld az összes szervernek a „check” kulcsszóval. A válasz alapján megállapítja a szerver állapotát. A sikeres szerverválaszok példái a 2xx vagy 3xx tartományba esnek. A 200 OK-hoz hasonló válasz azt jelenti, hogy a szerver jó állapotban van.

Ebben a példában adja hozzá az „opció httpchk” sort a háttérrendszeréhez.

3. példa: Munkavégzés GET-kéréssel

A HAProxy egy GET kérést küld a „/” elérési útra, amikor HTTP-kérést küld. Ha azonban a végpont egy másik elérési úton van konfigurálva, megadhatja az URL elérési utat, például „/health”, és a HAProxy elküldi neki a GET kérést.

A végpontja alapján a szerver a választ a szerver állapotának meghatározására fogja használni. A megvalósítás módja:

4. példa: GET-kérés elérési útvonalának és válaszállapotának megadása

Egy végponttal megadhatja, hogy milyen sikeres válasz várható a végpont GET-kérelmétől a kiszolgáló állapotának meghatározásához. Ebben a példában a GET-kérés elérési útja „/health”, és egy 200-as válaszállapotra számítunk, amely megerősíti, hogy a kiszolgáló megfelelő állapotban van a terheléselosztási és egyéb feladatok kezeléséhez.

Miután módosította a HAProxy konfigurációs fájlját, indítsa újra a HAProxyt, hogy a módosítások érvénybe lépjenek.

Ez az! Ön végrehajtotta a hatékony állapotellenőrzéseket HAProxyján. A következő paranccsal elérheti a statisztika oldalt, vagy ellenőrizheti a naplófájlt, hogy megbizonyosodjon arról, hogy az állapotellenőrzések a várt módon működnek:

$ farok -f /var/log/haproxy.log

Következtetés

A HAProxyban különböző módokon hajthat végre hatékony állapotfelmérést. Az állapotellenőrzések a HAProxy konfigurációs fájl backend szakaszában vannak megvalósítva, és ez a bejegyzés különböző példákat mutat be, hogyan kell eljárni. Ellenőrizze az ideális módszert, és kényelmesen végezzen hatékony állapotfelmérést a HAProxyban.