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.