Jeffrey Cross
Jeffrey Cross

Zero seisakuterver taaskäivitub HAProxy abil

HAProxy on kõrge kättesaadavuse, tarkvarapõhine HTTP koormuse tasakaalustamise tööriist, mida olen näinud, et suurte serveri klastri- ja pilvandmetöötluskeskkondades on saadud palju veojõudu. Kasutan seda praegu osana eelnevalt ehitatud klastri pildist, mida kolmas osapool müüja säilitab, ja see on muljetavaldav mul, et olen hakanud oma võimeid edasi uurima. Kuna see on tarkvaralahendus, annab see teile konfiguratsiooni kohandamiseks palju paindlikkust.

Üks puhasid omadusi, mis tulin kokku, on konfiguratsioon, mis võimaldab teil klastris asuvaid servereid taaskäivitada ilma, et ühel kasutajal oleks 404 viga, aegumistähtaega või kadunud seansse. Trikk on kasutada iptables reeglit, et Apache vastaks kahele pordile, näiteks 80 ja 81. Apache töötab tõesti sadamas 80 ja seejärel port 81 on konfigureeritud edastama pordile 80. HAProxy on seejärel konfigureeritud rakenduse serveri pordi kasutamiseks 81 ja sama server 80-s on defineeritud kui kuum varukoopia.

Igvita.com-i blogil on hea viis seda teha:

Füüsiliselt erineva rakendusserveri määramise asemel määratleme meie varukoopia nii, et see oleks igal juhul täpselt sama rakendusserver, kuid ühe väikese erinevusega: olekupordi peamise rakendusserveri puhul erineb sellest me kasutame varunduses.

Nüüd, kui soovime serveri hooldusrežiimi panna, eemaldame edastatud pordi IPTables reegli ja ootame paar sekundit, et meie ülesvoolu HAProxy eksemplar tunneks, et server pole uute ühenduste jaoks enam saadaval - see on oluline, see tähendab, et protsessis ei langeta ühtegi klienti. Nüüd, kui server on HAProxy-s pöörlema ​​saanud, saame teha graatsilise taaskäivituse, lisada IPTables-i reegli tagasi ja me elame!

Mis on lahe, et ilma puhverserveri ümberkonfigureerimiseta võite masinat vabalt tõmmata. Sa lihtsalt keelad iptables pordi edasi, HAProxy täheldab, et port 81 läks võrguühenduseta ja alustab olemasolevate kasutajate saatmist sadamasse 80 oma praeguste küpsistega. Tegelikult on see täpselt sama Apache eksemplar, nii et kogu seansi teave jääb puutumata. Uued sessioonid saadetakse kõikidele teistele serveritele ja ootate, kuni hooldusrežiimi masinat ei kasutata enne seda, kui te selle võrguühenduseta võtate.

HAProxy Zero-Downtime taaskäivitub HAPRoxy ametliku HAProxy dokumendiga (vt ptk 4.2, varundusserverite kasutamise lõpetamine)

Osa

Jätnud Kommentaari