HAProxy populárny nástroj na vyrovnávanie zaťaženia softvéru s otvoreným zdrojovým kódom, nedávno oznámila spustenie nová verzia "HAProxy 3.0", ktorý prichádza so sériou aktualizácií, ktoré sľubujú zlepšenie jednoduchosti, výkonu, spoľahlivosti a zabezpečenia.
Pre tých, ktorí nevedia o HAProxy, mali by ste vedieť, že toto je nástroj na vyrovnávanie zaťaženia, ktorý vám umožňuje distribuovať prenos HTTP a požiadavky TCP medzi skupinou serverov. HAProxy berie do úvahy množstvo faktorov, ako je dostupnosť servera, hodnotenie úrovne zaťaženia a implementácia protiopatrení DDoS.
Hlavné nové funkcie HAProxy 3.0
Táto nová verzia, ktorá je prezentovaná HAProxy 3.0, je umiestnená ako verzia dlhodobej podpory (LTS) a budú podporované do roku 2029 a Má novú sekciu crt-store ktorý poskytuje flexibilný spôsob ukladania a používania certifikátov SSL, pričom oddeľuje úložisko od použitia na frontende. To vám umožňuje individuálne špecifikovať umiestnenie každého komponentu certifikátu, ako sú súbory certifikátov, súbory kľúčov a súbory odpovedí OCSP.
Ďalšou zo zmien, ktorá vyniká, je Rozšírené možnosti pre vyváženie správ Syslog. Spomína sa, že sa dosiahol pokrok, takže teraz môžete nastaviť váhy na serverových linkách v logbackendoch vášho režimu. Medzitým sa lepkavý algoritmus, ktorý bol obmedzený na registráciu backendov, teraz vzťahuje aj na backendy http v režime tcp.mode.
Ďalej v HAProxy teraz je možné nastaviť obmedzenia pre určité požiadavky povolené protokolom HTTP/2, ktoré môžu spôsobovať problémy, čo vám umožní identifikovať chybné aplikácie alebo klientov s nevhodným správaním
V HAProxy 3.0, predstavuje sa nová smernica „guid“, táto smernica môže byť použitá v sekciách "frontend", "backend" a "počúvať" na prepojenie jedinečného identifikátora s týmito sekciami, umožňuje uložiť súvisiace štatistiky aj po reštarte. Okrem toho bol pridaný príkaz "dump statistics file" na ukladanie štatistík do súboru a bola pridaná direktíva "statistics file" na čítanie štatistík zo súboru po reštarte.
Tiež, Rozšírilo sa množstvo údajov, ktoré je možné získať, ktorá vám umožňuje vyžiadať si informácie o počte otvorených relácií HTTP, veľkosti frontu požiadaviek a povolenom počte simultánnych relácií.
Na druhej strane al výkon pamäťových úložných oblastí vytvorených pomocou stick-table sa výrazne zvýšil implementáciou efektívnejšieho uzamykacieho mechanizmu, ktorý výrazne zlepšuje výkon na viacvláknových systémoch. Napríklad v systéme s 80 vláknami sa výkon zvýšil 6-krát.
V konfiguráciách viacerých lokalít, kde sa certifikát TLS vyberá na základe ID hostiteľa poskytnutého rozšírením TLS SNI, bol pridaný argument „default-crt“ na výber predvoleného certifikátu, ak existujúce certifikáty nezodpovedajú lokalite.
Se pridali akcie „set-fc-tos“ a „set-bc-tos“ na nahradenie poľa DS (Differentiated Services) na IP paketoch na backende alebo frontende a akcie „set-fc-mark“ a „set-bc-mark“ na označenie IP paketov pre neskoršie naviazanie na konkrétnu smerovaciu tabuľku.
Teraz je zakázané posielať viacero príkazov do Runtime API v jednej požiadavke oddelené znakom nového riadku; nastavenie kľúčového slova „povolené“ pre dynamické servery je zakázané; a posilnilo sa overovanie neštandardných URI.
Z ďalšie zmeny, ktoré vynikajú tejto novej verzie:
- Predponu „@virt“ možno použiť na vytvorenie súborov virtuálnej mapy a ACL, ktoré sa neuložia na disk, s obsahom spravovaným cez Runtime API.
- K dispozícii je predpona „@opt“, ktorá používa virtuálne súbory iba v prípade, že na disku nie sú žiadne skutočné súbory.
- Analýza je teraz prísnejšia počas spracovania HTTP/1 na overenie cieľa požiadavky.
- Boli zavedené globálne direktívy (kódy http-err-codes a http-fail-codes), ktoré vám umožňujú nastaviť sledovanie stavových kódov HTTP.
- Metóda uuid Fetch teraz používa voliteľný argument, ktorý nastavuje verziu UUID na 4 alebo 7
- Výkon jednovláknových Lua skriptov načítaných pomocou direktívy „lua-load“ sa výrazne zlepšil.
- Teraz je podporované formátovanie riadkov denníka v JSON a CBOR.
- Teraz je možné vytvárať identifikátory vo formáte UUIDv7.
konečne ak si záujem dozvedieť sa o tom viac, môžete skontrolovať podrobnosti v nasledujúci odkaz.