A nulla leállási szerver újraindul a HAProxy használatával - 💡 Fix My Ideas

A nulla leállási szerver újraindul a HAProxy használatával

A nulla leállási szerver újraindul a HAProxy használatával


Szerző: Ethan Holmes, 2019

A HAProxy egy magas rendelkezésre állású, szoftveralapú HTTP terheléskiegyenlítő eszköz, amelyet a nagy szervercsoportok és a felhőalapú számítástechnikai környezetekben szerzett sok vontatásban szerzett. Jelenleg egy előre gyártott, klaszter-kép részeként használom, amelyet egy harmadik fél gyártója tart fenn, és a teljesítményem eléggé lenyűgözött, hogy elkezdtem tovább vizsgálni képességeit. Mivel ez egy szoftver megoldás, rengeteg rugalmasságot biztosít a konfiguráció testreszabásához.

Az egyik legtisztább funkció, amivel találkoztam, olyan konfiguráció, amely lehetővé teszi a kiszolgálók újraindítását egy fürtben anélkül, hogy egyetlen felhasználó 404-es hibát, leállási időt vagy elveszett munkamenetet tapasztalna. A trükk az, hogy egy iptables szabályt használjunk arra, hogy az Apache két portra válaszoljon, mondjuk 80 és 81. Az Apache valóban a 80-as porton fut, majd a 81-es port úgy van konfigurálva, hogy továbbítsa a 80-as portot. 81, és ugyanaz a szerver a 80-as porton a forró biztonsági mentés.

Az igvita.com blog egy jó módszert ad erre:

Ahelyett, hogy fizikailag eltérő alkalmazáskiszolgálót adnánk meg, a biztonsági mentési példányt minden esetben pontosan ugyanarra az alkalmazáskiszolgálóra fogjuk definiálni, de egy kisebb különbséggel: a fő alkalmazáskiszolgáló státuszportja eltérő lesz. használjuk a biztonsági mentést.

Most, ha a kiszolgálót karbantartási módba szeretnénk helyezni, eltávolítjuk az IPTables szabályt a továbbított portra, és várjunk néhány másodpercet, hogy az upstream HAProxy példány felismerje, hogy a kiszolgáló már nem érhető el új kapcsolatok számára - ez kulcsfontosságú, ez azt jelenti, hogy a kliens nem kerül le a folyamatba. Most, miután a szerver elfordult a HAProxy-ban, egy kecses újraindítást tehetünk, hozzáadjuk az IPTables szabályt, és élünk!

Mi a hűvös, hogy a proxy újrakonfigurálása nélkül a gépet kecsesen húzhatja ki. Egyszerűen letiltja az iptables portot előre, a HAProxy észreveszi, hogy a 81-es port offline állapotba került, és a meglévő felhasználókat a 80-as portra küldi az aktuális cookie-kkal. A valóságban ugyanaz az Apache-példány, így az összes munkamenet-információ sértetlen marad. Az összes új munkamenet elküldésre kerül a többi szerverre, és várhat, amíg senki nem marad a karbantartási módban, mielőtt offline állapotba kerülne.

HAProxy Zero-Downtime újraindul a HAPRoxy hivatalos HAProxy dokumentációjával (lásd a 4.2 fejezetet, a biztonsági mentés szerverek használatának leállítása)



Lehet, Hogy Érdekli

Az első tíz legnépszerűbb darab: hozzászólások 2015-re

Az első tíz legnépszerűbb darab: hozzászólások 2015-re


Az ember 23 lábas halálcsillagot épít a háza tetején

Az ember 23 lábas halálcsillagot épít a háza tetején


Egy életnagyságú humpback bálna faragása

Egy életnagyságú humpback bálna faragása


Watch: Hogyan adtam hozzá a Foot Controls-t az Xbox One-hoz

Watch: Hogyan adtam hozzá a Foot Controls-t az Xbox One-hoz






Legutóbbi Hozzászólások