HAProxy 3.0 dolazi s poboljšanjima performansi, certifikatima i više

HAProxy

HAProxy popularni balanser opterećenja softvera otvorenog koda, nedavno je najavio lansiranje nova verzija "HAProxy 3.0", koji dolazi s nizom ažuriranja koja obećavaju poboljšanje jednostavnosti, performansi, pouzdanosti i sigurnosti.

Za one koji ne znaju za HAProxy, trebali biste znati da je ovo je balanser opterećenja koji vam omogućuje distribuciju HTTP prometa i TCP zahtjeva između grupe poslužitelja. HAProxy uzima u obzir brojne čimbenike, kao što su dostupnost poslužitelja, procjena razine opterećenja i implementacija DDoS protumjera.

Glavne nove značajke HAProxy 3.0

Ova nova verzija koja je predstavljena od HAProxy 3.0, pozicioniran je kao verzija dugoročne podrške (LTS) i bit će podržan do 2029. i ima novi dio crt-store koji pruža fleksibilan način za pohranu i korištenje SSL certifikata, odvajajući pohranu od upotrebe na sučelju. Ovo vam omogućuje da pojedinačno odredite 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. Spomenuto je da je napredak postignut tako da sada možete postaviti težine na linijama poslužitelja u pozadinama vašeg načina rada. U međuvremenu, ljepljivi algoritam, koji je bio ograničen na registraciju pozadina, sada se također primjenjuje na način rada tcp.mode http pozadine.

Nadalje, u HAProxy sada je moguće postaviti ograničenja za određene zahtjeve dopušten HTTP/2 protokolom koji može uzrokovati probleme, omogućujući vam da identificirate neispravne aplikacije ili klijente s neprikladnim ponašanjem

U HAProxy 3.0, predstavljena je nova "guid" direktiva, ova se direktiva može koristiti u odjeljcima "frontend", "backend" i "listen" za povezivanje jedinstvenog identifikatora s ovim odjeljcima, što omogućuje spremanje povezane statistike čak i nakon ponovnog pokretanja. Dodatno, dodana je naredba "dump statistics file" za spremanje statistike u datoteku i direktiva "statistics file" za čitanje statistike iz datoteke nakon ponovnog pokretanja.

Također, Proširena je količina podataka koje je moguće dobiti, omogućujući vam da zatražite informacije o broju otvorenih HTTP sesija, veličini reda zahtjeva i dopuštenom broju istodobnih sesija.

S druge strane, il izvedba memorijskih područja za pohranu stvorenih s stick-tableom značajno se povećao implementacijom učinkovitijeg mehanizma zaključavanja, koji značajno poboljšava performanse na sustavima s više niti. Na primjer, na sustavu s 80 niti, performanse su porasle 6 puta.

U konfiguracijama s više stranica gdje se TLS certifikat odabire na temelju ID-a glavnog računala koji pruža TLS SNI proširenje, dodan je argument "default-crt" za odabir zadanog certifikata ako postojeći certifikati ne odgovaraju web-mjestu.

Se dodane radnje "set-fc-tos" i "set-bc-tos" za zamjenu DS polja (Differentiated Services) na IP paketima na pozadini ili sučelju te radnje "set-fc-mark" i "set-bc-mark" za označavanje IP paketa za kasnije vezanje na određenu tablicu usmjeravanja.

Sada je zabranjeno slanje više naredbi Runtime API-ju u jednom zahtjevu odvojenim znakom novog retka; postavljanje ključne riječi "enabled" za dinamičke poslužitelje je zabranjeno; a provjera nestandardnih URI-ja je ojačana.

Od druge promjene koje se ističu ove nove verzije:

  • Prefiks "@virt" može se koristiti za stvaranje virtualnih mapa i ACL datoteka koje nisu spremljene na disk, sa sadržajem kojim se upravlja putem Runtime API-ja.
  • Dostupan je prefiks “@opt” koji koristi virtualne datoteke samo ako na disku nema pravih datoteka.
  •  Raščlanjivanje je sada strože tijekom HTTP/1 obrade za provjeru cilja zahtjeva.
  • Uvedene su globalne direktive (http-err-kodovi i http-fail-kodovi) koje vam omogućuju da postavite HTTP statusne kodove za praćenje.
  • Metoda uuid Fetch sada uzima izborni argument koji postavlja verziju UUID-a na 4 ili 7
  • Izvedba jednonitnih Lua skripti učitanih korištenjem "lua-load" direktive značajno je poboljšana.
  • Sada je podržano formatiranje redaka dnevnika u JSON i CBOR.
  • Sada je moguće kreirati identifikatore u UUIDv7 formatu.

konačno ako jesi zainteresiran za saznanje više o tome, detalje možete provjeriti u sljedeći link.