HAProxy popularni softver za balansiranje opterećenja otvorenog koda, nedavno je najavio lansiranje nova verzija "HAProxy 3.0", koji dolazi sa serijom ažuriranja koja obećavaju da će poboljšati jednostavnost, performanse, pouzdanost i sigurnost.
Za one koji ne znaju za HAProxy, trebali biste znati da je ovo je balansator opterećenja koji vam omogućava da distribuirate HTTP saobraćaj i TCP zahteve između grupe servera. HAProxy uzima u obzir brojne faktore, kao što su dostupnost servera, procjena nivoa opterećenja i implementacija DDoS protumjera.
Glavne nove karakteristike HAProxy 3.0
Ova nova verzija koja je predstavljena HAProxy 3.0, pozicioniran je kao verzija za dugoročnu podršku (LTS) i biće podržan do 2029. godine i ima novi odjeljak crt-store koji pruža fleksibilan način pohranjivanja i korištenja SSL certifikata, odvajajući pohranu od upotrebe na frontendu. Ovo vam omogućava da pojedinačno specificirate lokacije svake komponente certifikata, kao što su datoteke certifikata, datoteke ključeva i OCSP datoteke odgovora.
Još jedna od promjena koja se ističe je Proširene mogućnosti za balansiranje Syslog poruka. Spominje se da je napravljen napredak tako da sada možete podesiti težine na serverskim linijama u vašim logbackendovima režima. U međuvremenu, ljepljivi algoritam, koji je bio ograničen na registraciju pozadina, sada se primjenjuje i na mode tcp.mode http pozadine.
Nadalje, u HAProxy sada je moguće postaviti ograničenja za određene zahtjeve dozvoljeno HTTP/2 protokolom koji može uzrokovati probleme, omogućavajući vam da identificirate neispravne aplikacije ili klijente s neprikladnim ponašanjem
U HAProxy 3.0, predstavljena je nova "guid" direktiva, ova direktiva se može koristiti u odjeljcima "frontend", "backend" i "slušaj" da povežete jedinstveni identifikator sa ovim sekcijama, omogućavajući pohranjivanje povezanih statistika čak i nakon ponovnog pokretanja. Dodatno, dodata je komanda "dump statistics file" za spremanje statistike u datoteku i direktiva "statistics file" za čitanje statistike iz datoteke nakon ponovnog pokretanja.
Takođe, Količina podataka koja se može dobiti je proširena, koji vam omogućava da zatražite informacije o broju otvorenih HTTP sesija, veličini reda zahtjeva i dozvoljenom broju istovremenih sesija.
S druge strane, il performanse memorijskih prostora za pohranu kreiranih pomoću stick-table značajno se povećao implementacijom efikasnijeg mehanizma zaključavanja, koji značajno poboljšava performanse na višenitnim sistemima. Na primjer, na sistemu sa 80 niti, performanse su se povećale za 6 puta.
U konfiguracijama sa više lokacija u kojima je TLS certifikat odabran na osnovu ID-a hosta koji pruža TLS SNI ekstenzija, dodan je argument "default-crt" za odabir zadanog certifikata ako se postojeći certifikati ne podudaraju s web-mjestom.
Se dodao akcije “set-fc-tos” i “set-bc-tos” za zamjenu DS polja (Differentiated Services) na IP paketima na backend-u ili frontendu, i akcije “set-fc-mark” i “set-bc-mark” za označavanje IP paketa za kasnije vezivanje za određenu tabelu rutiranja.
Sada je zabranjeno slati više naredbi Runtime API-ju u jednom zahtjevu odvojenom znakom za novi red; postavljanje ključne riječi “enabled” za dinamičke servere je zabranjeno; i ojačana je verifikacija nestandardnih URI-ja.
Of the druge promjene koje se ističu ove nove verzije:
- Prefiks "@virt" se može koristiti za kreiranje virtuelnih mapa i ACL datoteka koje nisu sačuvane na disku, sa sadržajem kojim se upravlja preko Runtime API-ja.
- Dostupan je prefiks “@opt” koji koristi virtuelne datoteke samo ako na disku nema pravih datoteka.
- Parsing je sada stroži tokom HTTP/1 obrade za validaciju cilja zahtjeva.
- Uvedene su globalne direktive (http-err-codes i http-fail-codes) koje vam omogućavaju da postavite HTTP statusne kodove za praćenje.
- Metoda uuid Fetch sada uzima neobavezni argument koji postavlja verziju UUID-a na 4 ili 7
- Performanse jednonitnih Lua skripti učitanih pomoću "lua-load" direktive su značajno poboljšane.
- Formatiranje redova dnevnika u JSON i CBOR je sada podržano.
- Sada je moguće kreirati identifikatore u UUIDv7 formatu.
konačno ako jesi zainteresovani da saznaju više o tome, detalje možete provjeriti u sljedeći link.