Kā ieviest efektīvas veselības pārbaudes HAProxy

Ka Ieviest Efektivas Veselibas Parbaudes Haproxy



HAProxy iestatīšana, lai tā darbotos kā slodzes līdzsvarotājs, ir nepilnīga, ja neuzskatāt, ka efektīvas servera veselības pārbaudes. Veselības pārbaužu ieviešana palīdz uzlabot lietojumprogrammas uzticamību un pieejamību. HAProxy atbalsta veselības pārbaužu ieviešanu, kas pārbauda aizmugursistēmas serverus, lai pārliecinātos, ka to veselības stāvoklis ir piemērots lietošanai.

Rotācijai tiek pievienoti tikai tie serveri, kas iztur veselības pārbaudes. Tādā veidā serveris netiks izvēlēts lietošanai, ja tas neizturēs veselības pārbaudi, tādējādi samazinot dīkstāves iespējamību. Visā šajā ziņojumā mēs padziļināsimies, lai izprastu, kā darbojas HAProxy veselības pārbaudes un kas nepieciešams efektīvas veselības pārbaudes veikšanai. Sāksim!

Kas ir veselības pārbaudes HAProxy

Konfigurējot HAProxy, viens uzdevums ir norādīt, kādus aizmugursistēmas serverus izmantot jūsu lietojumprogrammai. Tādā veidā trafiks tiks sadalīts pa serveriem, lai izvairītos no servera pārslodzes. Tomēr veselības pārbaudes palīdz pārliecināties, ka serveris ir izvēlēts trafika apstrādei tikai tad, ja tas ir kārtībā.







Katrā serverī tiek veiktas veselības pārbaudes, un tikai tās, kas iztur, tiek pievienotas rotācijai, lai izmantotu slodzes līdzsvarošanu. Veselības pārbaudes tiek veiktas, nosūtot pieprasījumus, piemēram, TCP vai HTTP, uz iepriekš noteiktu galapunktu jūsu aizmugursistēmas serverī. Veselības rezultāti, ko aizmugursistēmas serveris nosūta atpakaļ, nosaka tā statusu. Piemēram, servera statuss var tikt rādīts UZ AUGŠU vai LEJU, vai nosūtīts okei 200 statuss, kas apstiprina, ka serveris ir vesels.



Konfigurējot veselības pārbaudes, pārliecinieties, vai jums ir iepriekš definēts galapunkts, ko izmantot veselības pārbaudēm. Ir dažādas opcijas, kuras varat izmantot galapunkta iestatīšanai. Piemēram, atkarībā no servera statusa varat atgriezt statusa kodu vai ziņojumu. Visas veselības pārbaudes ir definētas jūsu HAProxy konfigurācijas faila aizmugursistēmas sadaļā. Atveriet konfigurācijas failu un izveidojiet savu priekšgala sadaļu.



$ sudo nano /etc/haproxy/haproxy.cfg

Šeit ir pamata piemērs priekšgala sadaļai, kas saista 80. portu, iestata statistikas lapu un norāda noklusējuma aizmugursistēmu.





Nākamais solis ir izveidot aizmugures sadaļu. Tālāk ir sniegti dažādi piemēri, kā ieviest efektīvu veselības pārbaudi HAProxy.



1. piemērs. Efektīvu aktīvo veselības pārbaužu īstenošana

Vienkāršs veids, kā ieviest veselības pārbaudes HAProxy, ir iestatīt aktīvās veselības pārbaudes. Izmantojot šo opciju, HAProxy mēģinās izveidot savienojumu ar serveri. Ja atbilde netiek nosūtīta, serveris tiek uzskatīts par neveselīgu un tiek noņemts no rotācijas. Noklusējuma veids, kā ieviest aktīvās veselības pārbaudes, ir pievienot atslēgvārdu “pārbaudīt” katrā servera rindā, lai HAProxy pārbaudītu tās visas.

Lai gan šis pirmais piemērs darbojas, tas nav labākais veids, kā veikt veselības pārbaudes. Turklāt tas izmanto noklusējuma iestatījumus. Piemēram, intervāls starp pārbaudēm, kas atzīmēts kā inter, ir iestatīts uz divām sekundēm. Kritums, atļauto nesekmīgo pārbaužu skaits, ir iestatīts uz trīs. Lai pielāgotu šos iestatījumus, norādiet vēlamo starplaiku un pārbaužu skaitu, kā parādīts šajā piemērā:

2. piemērs: HTTP veselības pārbaudes ieviešana

Izmantojot HTTP stāvokļa pārbaudi, HAProxy nosūtīs HTTP pieprasījumu visiem serveriem ar atslēgvārdu “pārbaudīt”. Pamatojoties uz atbildi, tiek secināts servera statuss. Veiksmīgu servera atbilžu piemēri ir diapazonā no 2xx vai 3xx. Atbilde, piemēram, 200 OK, nozīmē, ka serveris ir labā stāvoklī.

Šajā piemērā aizmugurprogrammā pievienojiet rindiņu “opcija httpchk”.

3. piemērs. Darbs ar GET pieprasījumu

Veicot HTTP pieprasījumu, HAProxy nosūta GET pieprasījumu uz ceļu “/”. Tomēr, ja galapunkts ir konfigurēts citā ceļā, varat norādīt URL ceļu, piemēram, “/health”, un HAProxy tam nosūtīs GET pieprasījumu.

Pamatojoties uz jūsu galapunktu, serveris izmantos atbildi, lai noteiktu servera statusu. Lūk, kā to ieviest:

4. piemērs: GET pieprasījuma ceļa un atbildes statusa norādīšana

Izmantojot galapunktu, varat norādīt, kāda veiksmīga atbilde gaidāma no galapunkta GET pieprasījuma, lai noteiktu servera statusu. Šajā piemērā mūsu GET pieprasījuma ceļš ir “/health”, un mēs sagaidām, ka atbildes statuss 200 apstiprinās, ka serveris ir labā stāvoklī, lai veiktu slodzes līdzsvarošanu un citus uzdevumus.

Kad esat modificējis HAProxy konfigurācijas failu, restartējiet HAProxy, lai izmaiņas stātos spēkā.

Tieši tā! Jūs ieviesāt efektīvas veselības pārbaudes savā HAProxy. Varat piekļūt statistikas lapai vai pārbaudīt žurnāla failu ar šādu komandu, lai apstiprinātu, ka veselības pārbaudes darbojas, kā paredzēts:

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

Secinājums

Jūs varat veikt efektīvu veselības pārbaudi HAProxy dažādos veidos. Veselības pārbaudes ir ieviestas HAProxy konfigurācijas faila aizmugursistēmas sadaļā, un šajā ziņojumā ir sniegti dažādi piemēri, kā rīkoties. Pārbaudiet savu ideālo metodi un ērti veiciet efektīvu veselības pārbaudi HAProxy.