HAProxy a népszerű nyílt forráskódú terheléselosztó szoftver, nemrég bejelentette az indulást új verziója "HAProxy 3.0", amelyhez számos frissítés tartozik, amelyek az egyszerűség, a teljesítmény, a megbízhatóság és a biztonság javítását ígérik.
Azok számára, akik nem ismerik a HAProxy-t, tudniuk kell, hogy ez egy terheléselosztó, amely lehetővé teszi a HTTP-forgalom és a TCP-kérések elosztását szerverek csoportja között. A HAProxy számos tényezőt figyelembe vesz, például a szerver elérhetőségét, a terhelési szint felmérését és a DDoS ellenintézkedések megvalósítását.
A HAProxy 3.0 főbb újdonságai
A HAProxy 3.0 új verziója, hosszú távú támogatási változatként van pozicionálva (LTS) és 2029-ig támogatják új crt-store részleggel rendelkezik amely rugalmas módot biztosít az SSL-tanúsítványok tárolására és használatára, elválasztva a tárolást a frontenden történő használattól. Ez lehetővé teszi az egyes tanúsítványösszetevők, például a tanúsítványfájlok, kulcsfájlok és OCSP-válaszfájlok helyének egyedi meghatározását.
A másik kiemelkedő változás a Kibővített lehetőségek a Syslog üzenetek egyensúlyozására. Megemlítik, hogy előrelépés történt annak érdekében, hogy immár súlyozást állíthat be a kiszolgálósorokon a mód naplózóiban. Eközben a ragadós algoritmus, amely a háttérprogramok regisztrálására korlátozódott, most a mode tcp.mode http háttérprogramokra is vonatkozik.
Továbbá a HAProxyban most már lehetőség van bizonyos kérésekre korlátozások beállítására a HTTP/2 protokoll által engedélyezett, ami problémákat okozhat, lehetővé téve a hibás alkalmazások vagy nem megfelelő viselkedésű kliensek azonosítását
A HAProxy 3.0-ban új „irányelv” kerül bemutatásra, ez az irányelv szakaszokban használható "frontend", "backend" és "hallgat" egyedi azonosítót kapcsolni ezekhez a szakaszokhoz, lehetővé teszi a kapcsolódó statisztikák mentését még újraindítás után is. Ezenkívül a "statisztikafájl kiíratása" parancs hozzáadásra került a statisztikák fájlba mentéséhez, a "statistics file" direktíva pedig hozzá lett adva, hogy újraindítás után kiolvassa a statisztikákat egy fájlból.
Is, Bővült a megszerezhető adatok mennyisége, amely lehetővé teszi, hogy információkat kérjen a nyitott HTTP-munkamenetek számáról, a kérési sor méretéről és az egyidejű munkamenetek megengedett számáról.
Másrészt, ésl stick-table-val létrehozott memóriatároló területek teljesítménye jelentősen megnövekedett egy hatékonyabb reteszelő mechanizmus bevezetésével, amely jelentősen javítja a teljesítményt a többmenetes rendszereken. Például egy 80 szálas rendszeren a teljesítmény hatszorosára nőtt.
Azokban a többhelyes konfigurációkban, ahol a TLS-tanúsítvány a TLS SNI-bővítmény által biztosított gazdagép-azonosító alapján van kiválasztva, az "alapértelmezett-crt" argumentum hozzáadásra került az alapértelmezett tanúsítvány kiválasztásához, ha a meglévő tanúsítványok nem egyeznek a hellyel.
Se hozzáadta a „set-fc-tos” és „set-bc-tos” műveleteket a DS mező helyére (Differenciált szolgáltatások) az IP-csomagokon a háttérben vagy az előtérben, valamint a „set-fc-mark” és „set-bc-mark” műveletek az IP-csomagok megjelölésére, hogy később egy adott útválasztási táblához kapcsolódjanak.
Mostantól tilos több parancsot küldeni a Runtime API-nak egy újsor karakterrel elválasztott kérésben; az „enabled” kulcsszó beállítása dinamikus szerverekhez tilos; és megerősítették a nem szabványos URI-k ellenőrzését.
A egyéb kiemelkedő változások ennek az új verziónak:
- A "@virt" előtag használható virtuális térkép- és ACL-fájlok létrehozására, amelyek nem kerülnek lemezre, és a tartalom a Runtime API-n keresztül kezelhető.
- A „@opt” előtag csak akkor használ virtuális fájlokat, ha nincsenek valódi fájlok a lemezen.
- Az elemzés most szigorúbb a HTTP/1 feldolgozás során a kérelem célellenőrzéséhez.
- Globális direktívák (http-err-codes és http-fail-codes) kerültek bevezetésre, amelyek lehetővé teszik a követendő HTTP-állapotkódok beállítását.
- Az uuid Fetch metódus most egy opcionális argumentumot vesz fel, amely az UUID verzióját 4-re vagy 7-re állítja
- A "lua-load" direktívával betöltött egyszálú Lua szkriptek teljesítménye jelentősen javult.
- A naplósorok formázása JSON-ban és CBOR-ban mostantól támogatott.
- Mostantól lehetőség van UUIDv7 formátumú azonosítók létrehozására.
végre, ha az vagy érdekelne többet megtudni róla, ellenőrizheti a részleteket a következő link.