Kako implementirati učinkovite provjere zdravlja u HAProxy

Kako Implementirati Ucinkovite Provjere Zdravlja U Haproxy



Postavljanje vašeg HAProxyja da djeluje kao vaš balanser opterećenja nije dovršeno ako ne uzmete u obzir učinkovite provjere ispravnosti poslužitelja. Provedba provjera zdravlja pomaže u poboljšanju pouzdanosti i dostupnosti aplikacije. HAProxy podržava provedbu provjera zdravlja koje provjeravaju pozadinske poslužitelje kako bi se utvrdilo da li je njihovo zdravstveno stanje prikladno za upotrebu.

U rotaciju se dodaju samo poslužitelji koji prođu provjere ispravnosti. Na taj način poslužitelj neće biti odabran za upotrebu ako ne prođe provjeru ispravnosti, čime se smanjuju šanse zastoja. Kroz ovaj post dublje ćemo istražiti kako funkcioniraju provjere zdravlja u HAProxyju i što je potrebno za provedbu učinkovite provjere zdravlja. Započnimo!

Što su provjere zdravlja u HAProxyju

Kada konfigurirate HAProxy, jedan zadatak je odrediti koje pozadinske poslužitelje koristiti za svoju aplikaciju. Na taj će se način promet distribuirati na poslužitelje kako bi se izbjeglo preopterećenje poslužitelja. Međutim, provjere ispravnosti pomažu da se utvrdi da je poslužitelj odabran za rukovanje prometom samo ako je u redu.







Provjere zdravlja provode se na svakom poslužitelju, a samo one koje prođu dodaju se u rotaciju za korištenje u balansiranju opterećenja. Provjere zdravlja izvode se slanjem zahtjeva, kao što su TCP ili HTTP, unaprijed definiranoj krajnjoj točki na vašem pozadinskom poslužitelju. Zdravstveni rezultati koje šalje pozadinski poslužitelj određuju njegov status. Na primjer, status poslužitelja može pokazati GORE ili DOLJE ili poslati status OK 200 koji potvrđuje da je poslužitelj ispravan.



Prilikom konfiguriranja provjera zdravlja, osigurajte da imate unaprijed definiranu krajnju točku za korištenje za provjere zdravlja. Postoje različite opcije koje možete koristiti za postavljanje krajnje točke. Na primjer, možete vratiti statusni kod ili poruku ovisno o statusu poslužitelja. Sve provjere zdravlja definirane su u pozadinskom odjeljku vaše konfiguracijske datoteke HAProxy. Otvorite konfiguracijsku datoteku i stvorite odjeljak sučelja.



$ sudo nano /etc/haproxy/haproxy.cfg

Evo osnovnog primjera odjeljka sučelja koji veže priključak 80, postavlja stranicu statistike i navodi zadanu pozadinu.





Sljedeći korak je stvaranje pozadinskog odjeljka. Slijede različiti primjeri kako implementirati učinkovitu provjeru zdravlja u HAProxy.



Primjer 1: Provedba učinkovitih aktivnih zdravstvenih provjera

Jednostavan način implementacije provjera zdravlja u HAProxy je postavljanje aktivnih provjera zdravlja. Uz ovu opciju, HAProxy će se pokušati povezati s poslužiteljem. Ako se ne pošalje nikakav odgovor, poslužitelj se smatra neispravnim i uklanja ga iz rotacije. Zadani način implementacije aktivnih provjera zdravlja je dodavanjem ključne riječi 'check' na svaku liniju poslužitelja kako bi ih HAProxy sve provjerio.

Iako ovaj prvi primjer funkcionira, to nije najbolji način za provedbu zdravstvenih provjera. Osim toga, koristi zadane postavke. Na primjer, interval između provjera, označen kao među, postavljen je na dvije sekunde. Pad, dopušteni broj neuspjelih provjera, postavljen je na tri. Za podešavanje ovih postavki odredite željeno međuvrijeme i broj provjera kao što je prikazano u sljedećem primjeru:

Primjer 2: Implementacija HTTP Health Check-a

Uz HTTP provjeru ispravnosti, HAProxy će poslati HTTP zahtjev svim poslužiteljima s ključnom riječi 'check'. Na temelju odgovora zaključuje status poslužitelja. Primjeri uspješnih odgovora poslužitelja spadaju u raspon od 2xx ili 3xx. Odgovor poput 200 OK znači da je poslužitelj u dobrom stanju.

Za ovaj primjer dodajte redak 'opcija httpchk' u svoju pozadinu.

Primjer 3: Rad s GET zahtjevom

HAProxy šalje GET zahtjev na stazu “/” kada postavlja HTTP zahtjev. Međutim, ako imate krajnju točku konfiguriranu na drugom putu, možete navesti URL put kao što je “/health”, a HAProxy će mu poslati GET zahtjev.

Na temelju vaše krajnje točke, poslužitelj će koristiti odgovor za određivanje statusa poslužitelja. Evo kako to implementirati:

Primjer 4: Određivanje staze GET zahtjeva i statusa odgovora

S krajnjom točkom možete odrediti kakav uspješan odgovor očekivati ​​od GET zahtjeva krajnje točke za određivanje statusa poslužitelja. U ovom primjeru, naš put GET zahtjeva je “/health”, a očekujemo status odgovora 200 koji potvrđuje da je poslužitelj u dobrom stanju za rukovanje balansiranjem opterećenja i drugim zadacima.

Nakon što izmijenite svoju HAProxy konfiguracijsku datoteku, ponovno pokrenite HAProxy kako bi promjene stupile na snagu.

To je to! Implementirali ste učinkovite provjere zdravlja na svom HAProxyju. Možete pristupiti stranici statistike ili provjeriti datoteku dnevnika pomoću sljedeće naredbe kako biste potvrdili da provjere ispravnosti rade kako se očekuje:

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

Zaključak

Možete implementirati učinkovitu provjeru zdravlja u HAProxy na različite načine. Provjere zdravlja implementirane su u pozadinskom odjeljku HAProxy konfiguracijske datoteke, a ovaj post daje različite primjere o tome kako to učiniti. Provjerite svoju idealnu metodu i udobno implementirajte učinkovitu provjeru zdravlja u HAProxy.