HAProxy 3.0 kommer med ytelsesforbedringer, sertifikater og mer

HAProxy

HAProxy den populære belastningsbalanseren for åpen kildekode, annonserte nylig lanseringen av den nye versjonen av "HAProxy 3.0", som kommer med en serie oppdateringer som lover å forbedre enkelhet, ytelse, pålitelighet og sikkerhet.

For de som ikke vet om HAProxy, bør du vite at dette er en lastbalanser som lar deg distribuere HTTP-trafikk og TCP-forespørsler mellom en gruppe servere. HAProxy tar hensyn til en rekke faktorer, som servertilgjengelighet, lastnivåvurdering og implementering av DDoS-mottiltak.

De viktigste nye funksjonene i HAProxy 3.0

Denne nye versjonen som presenteres av HAProxy 3.0, er posisjonert som en langsiktig støtteversjon (LTS) og vil bli støttet frem til 2029 og har en ny crt-butikkseksjon som gir en fleksibel måte å lagre og bruke SSL-sertifikater, som skiller lagring fra bruk på en frontend. Dette lar deg spesifisere plasseringene til hver sertifikatkomponent individuelt, for eksempel sertifikatfiler, nøkkelfiler og OCSP-svarfiler.

En annen av endringene som skiller seg ut er Utvidede muligheter for balansering av Syslog-meldinger. Det nevnes at det har blitt gjort fremskritt slik at du nå kan sette vekter på serverlinjer i modusen logbackends. I mellomtiden gjelder den klebrige algoritmen, som var begrenset til å registrere backends, nå også for modus tcp.mode http-backends.

Videre i HAProxy det er nå mulig å sette begrensninger for visse forespørsler tillatt av HTTP/2-protokollen som kan forårsake problemer, slik at du kan identifisere defekte applikasjoner eller klienter med upassende oppførsel

I HAProxy 3.0, et nytt "guide"-direktiv presenteres, dette direktivet kan brukes i seksjoner "frontend", "backend" og "lytt" for å koble en unik identifikator til disse delene, slik at tilknyttet statistikk kan lagres selv etter omstart. I tillegg er kommandoen "dump statistikkfil" lagt til for å lagre statistikk i en fil, og direktivet "statistikkfil" er lagt til for å lese statistikk fra en fil etter omstart.

Også, Mengden data som kan skaffes er utvidet, slik at du kan be om informasjon om antall åpne HTTP-økter, størrelsen på forespørselskøen og tillatt antall samtidige økter.

På den annen side, ogl ytelsen til minnelagringsområder laget med stick-table har økt betydelig ved å implementere en mer effektiv låsemekanisme, som forbedrer ytelsen betydelig på flertrådede systemer. For eksempel, på et system med 80 tråder, har ytelsen økt med 6 ganger.

I multi-site-konfigurasjoner der TLS-sertifikatet er valgt basert på verts-ID-en gitt av TLS SNI-utvidelsen, er "default-crt"-argumentet lagt til for å velge et standardsertifikat hvis eksisterende sertifikater ikke samsvarer med nettstedet.

Se la til handlingene "set-fc-tos" og "set-bc-tos" for å erstatte DS-feltet (Differentiated Services) på IP-pakker på backend eller frontend, og "set-fc-mark" og "set-bc-mark"-handlingene for å merke IP-pakker for senere binding til en spesifikk rutingtabell.

Det er nå forbudt å sende flere kommandoer til Runtime API i én forespørsel atskilt med et linjeskifttegn; Det er forbudt å angi nøkkelordet "aktivert" for dynamiske servere; og verifisering av ikke-standard URIer har blitt styrket.

Av andre endringer som skiller seg ut av denne nye versjonen:

  • Prefikset "@virt" kan brukes til å lage virtuelle kart- og ACL-filer som ikke er lagret på disk, med innhold administrert gjennom Runtime API.
  • Prefikset "@opt" er tilgjengelig som bruker virtuelle filer bare hvis det ikke er noen ekte filer på disken.
  •  Parsing er nå strengere under HTTP/1-behandling for forespørselsmålvalidering.
  • Globale direktiver (http-err-codes og http-fail-codes) har blitt introdusert som lar deg angi HTTP-statuskodene som skal spores.
  • Uuid Fetch-metoden tar nå et valgfritt argument som setter versjonen av UUID til 4 eller 7
  • Ytelsen til entrådede Lua-skript lastet ved hjelp av "lua-load"-direktivet har blitt betydelig forbedret.
  • Formatering av logglinjer i JSON og CBOR støttes nå.
  • Det er nå mulig å lage identifikatorer i UUIDv7-format.

endelig hvis du er det interessert i å vite mer om det, kan du sjekke detaljene i følgende lenke.