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.logJohtopää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.