Tehokkaiden terveystarkastusten toteuttaminen HAProxyssa

Tehokkaiden Terveystarkastusten Toteuttaminen Haproxyssa



HAProxyn määrittäminen toimimaan kuormituksen tasapainottajana on epätäydellinen, jos et pidä tehokkaita palvelimen kuntotarkastuksia. Terveystarkastusten toteuttaminen auttaa parantamaan sovelluksen luotettavuutta ja saatavuutta. HAProxy tukee niiden kuntotarkastusten toteuttamista, jotka tarkastavat taustapalvelimet varmistaakseen niiden terveydentilan sopivuuden käyttöön.

Vain terveystarkastukset läpäisevät palvelimet lisätään kiertoon. Tällä tavalla palvelinta ei valita käytettäväksi, jos se ei läpäise kuntotarkastusta, mikä minimoi seisokkien mahdollisuudet. Tämän postauksen aikana syvennymme ymmärtämään, kuinka HAProxyn terveystarkastukset toimivat ja mitä tehokkaan terveystarkastuksen toteuttaminen vaatii. Aloitetaanpa!

Mitä ovat terveystarkastukset HAProxyssa

Kun määrität HAProxya, yksi tehtävä on määrittää, mitä taustapalvelimia käytetään sovelluksessasi. Tällä tavalla liikenne jaetaan palvelimille, jotta palvelin ei ylikuormittaisi. Terveystarkastukset auttavat kuitenkin varmistamaan, että palvelin valitaan käsittelemään liikennettä vain, jos se on kunnossa.







Kuntotarkistukset tehdään jokaiselle palvelimelle, ja vain läpäisseet lisätään kiertoon käytettäväksi kuormituksen tasapainottamisessa. Kuntotarkistukset suoritetaan lähettämällä pyyntöjä, kuten TCP tai HTTP, taustapalvelimesi ennalta määritettyyn päätepisteeseen. Taustapalvelimen takaisin lähettämät kuntotulokset määrittävät sen tilan. Esimerkiksi palvelimen tila voi näyttää YLÖS tai ALAS tai lähettää kunnossa 200-tilan, joka vahvistaa, että palvelin on terve.



Kun määrität terveystarkastuksia, varmista, että sinulla on ennalta määritetty päätepiste, jota voit käyttää terveystarkastuksia varten. Voit määrittää päätepisteen eri vaihtoehtoja. Voit esimerkiksi palauttaa tilakoodin tai viestin palvelimen tilasta riippuen. Kaikki kuntotarkastukset on määritetty HAProxy-määritystiedoston taustaosassa. Avaa asetustiedosto ja luo käyttöliittymäosio.



$ sudo nano /etc/haproxy/haproxy.cfg

Tässä on perusesimerkki käyttöliittymäosiosta, joka sitoo portin 80, asettaa tilastosivun ja määrittää oletustaustan.





Seuraava vaihe on taustaosan luominen. Seuraavassa on erilaisia ​​esimerkkejä tehokkaan terveystarkastuksen toteuttamisesta HAProxyssa.



Esimerkki 1: Tehokkaiden aktiivisten terveystarkastusten toteuttaminen

Yksinkertainen tapa toteuttaa terveystarkastukset HAProxyssa on asettaa aktiiviset terveystarkastukset. Tällä vaihtoehdolla HAProxy yrittää muodostaa yhteyden palvelimeen. Jos vastausta ei lähetetä, se katsoo palvelimen epäterveeksi ja poistaa sen kierrosta. Oletustapa aktiivisen kuntotarkastuksen toteuttamiseksi on lisätä 'check'-avainsana jokaiselle palvelinriville, jotta HAProxy tarkistaa ne kaikki.

Vaikka tämä ensimmäinen esimerkki toimii, se ei ole paras tapa toteuttaa terveystarkastuksia. Lisäksi se käyttää oletusasetuksia. Esimerkiksi väliin merkittyjen tarkistusten väli on asetettu kahteen sekuntiin. Pudotus, sallittu epäonnistuneiden tarkastusten määrä, on asetettu kolmeen. Säädä näitä asetuksia määrittämällä haluamasi väliaika ja tarkistusten määrä seuraavan esimerkin mukaisesti:

Esimerkki 2: HTTP-kunnontarkistuksen toteuttaminen

HTTP-kunnontarkistuksen avulla HAProxy lähettää HTTP-pyynnön kaikille palvelimille 'check'-avainsanalla. Vastauksen perusteella se päättelee palvelimen tilan. Esimerkkejä onnistuneista palvelinvastauksista ovat 2xx tai 3xx. Vastaus, kuten 200 OK, tarkoittaa, että palvelin on hyvässä kunnossa.

Lisää tässä esimerkissä 'optio httpchk' -rivi taustajärjestelmääsi.

Esimerkki 3: Työskentely GET-pyynnön kanssa

HAProxy lähettää GET-pyynnön polkuun '/' tehdessään HTTP-pyynnön. Jos olet kuitenkin määrittänyt päätepisteesi toiselle polulle, voit määrittää URL-polun, kuten '/health', ja HAProxy lähettää GET-pyynnön sille.

Päätepisteesi perusteella palvelin määrittää vastauksen avulla palvelimen tilan. Ota se käyttöön seuraavasti:

Esimerkki 4: GET-pyynnön polun ja vastauksen tilan määrittäminen

Päätepisteen avulla voit määrittää, mitä onnistunutta vastausta odotetaan päätepisteen GET-pyynnöltä palvelimen tilan määrittämiseksi. Tässä esimerkissä GET-pyyntöpolkumme on '/health', ja odotamme 200-vastauksen tilan vahvistavan, että palvelin on kunnossa kuormituksen tasapainotuksen ja muiden tehtävien hoitamiseksi.

Kun olet muokannut HAProxy-määritystiedostoa, käynnistä HAProxy uudelleen, jotta muutokset tulevat voimaan.

Se siitä! Otit käyttöön tehokkaat terveystarkastukset HAProxyllesi. Voit siirtyä tilastosivulle tai tarkistaa lokitiedoston seuraavalla komennolla varmistaaksesi, että kuntotarkastukset toimivat odotetulla tavalla:

$ häntä -f /var/log/haproxy.log

Johtopäätös

Voit toteuttaa tehokkaan terveystarkastuksen HAProxyssa eri tavoin. Terveystarkastukset on toteutettu HAProxy-määritystiedoston taustaosassa, ja tämä viesti on antanut erilaisia ​​esimerkkejä siitä, miten se tehdään. Tarkista ihanteellinen menetelmäsi ja toteuta kätevästi tehokas terveystarkastus HAProxyssa.