HAProxy de populaire open source software load balancer, kondigde onlangs de lancering aan van de nieuwe versie van "HAProxy 3.0", die wordt geleverd met een reeks updates die beloven de eenvoud, prestaties, betrouwbaarheid en veiligheid te verbeteren.
Voor degenen die HAProxy niet kennen, moet u weten dat dit is een load balancer waarmee u HTTP-verkeer en TCP-verzoeken kunt distribueren tussen een groep servers. HAProxy houdt rekening met tal van factoren, zoals de beschikbaarheid van de server, beoordeling van het belastingsniveau en de implementatie van DDoS-tegenmaatregelen.
Belangrijkste nieuwe functies van HAProxy 3.0
Deze nieuwe versie die wordt gepresenteerd van HAProxy 3.0, is gepositioneerd als een ondersteuningsversie voor de lange termijn (LTS) en wordt ondersteund tot 2029 en heeft een nieuwe crt-store sectie dat een flexibele manier biedt om SSL-certificaten op te slaan en te gebruiken, waarbij opslag wordt gescheiden van gebruik op een frontend. Hierdoor kunt u de locaties van elke certificaatcomponent afzonderlijk opgeven, zoals certificaatbestanden, sleutelbestanden en OCSP-antwoordbestanden.
Een andere opvallende verandering is de Uitgebreide mogelijkheden voor het balanceren van Syslog-berichten. Er wordt vermeld dat er vooruitgang is geboekt, zodat u nu gewichten op serverlijnen kunt instellen in uw modus logbackends. Ondertussen is het sticky-algoritme, dat beperkt was tot het registreren van backends, nu ook van toepassing op mode tcp.mode http-backends.
Verder in HAProxy het is nu mogelijk om beperkingen in te stellen voor bepaalde verzoeken toegestaan door het HTTP/2-protocol dat problemen kan veroorzaken, waardoor u defecte applicaties of clients met ongepast gedrag kunt identificeren
In HAProxy 3.0 is er wordt een nieuwe "guid"-richtlijn gepresenteerd, deze richtlijn kan in secties worden gebruikt "frontend", "backend" en "luisteren" om een unieke identificatie aan deze secties te koppelen, waardoor bijbehorende statistieken kunnen worden opgeslagen, zelfs na het opnieuw opstarten. Bovendien is de opdracht "dump statistiekenbestand" toegevoegd om statistieken in een bestand op te slaan en is de richtlijn "statistiekenbestand" toegevoegd om statistieken uit een bestand te lezen na het opnieuw opstarten.
Ook, De hoeveelheid data die kan worden verkregen is uitgebreid, waardoor u informatie kunt opvragen over het aantal open HTTP-sessies, de grootte van de aanvraagwachtrij en het toegestane aantal gelijktijdige sessies.
Aan de andere kant, enl prestaties van geheugenopslaggebieden gemaakt met stick-table is aanzienlijk toegenomen door de implementatie van een efficiënter vergrendelingsmechanisme, dat de prestaties op multi-threaded systemen aanzienlijk verbetert. Op een systeem met 80 threads zijn de prestaties bijvoorbeeld zes keer toegenomen.
In configuraties met meerdere locaties waarbij het TLS-certificaat wordt geselecteerd op basis van de host-ID die wordt verstrekt door de TLS SNI-extensie, is het argument "default-crt" toegevoegd om een standaardcertificaat te selecteren als bestaande certificaten niet overeenkomen met de site.
Se de acties “set-fc-tos” en “set-bc-tos” toegevoegd om het DS-veld te vervangen (Gedifferentieerde services) op IP-pakketten op de backend of frontend, en de acties "set-fc-mark" en "set-bc-mark" om IP-pakketten te markeren voor latere binding aan een specifieke routeringstabel.
Het is nu verboden om in één verzoek meerdere opdrachten naar de Runtime API te sturen, gescheiden door een nieuwregelteken; het instellen van het trefwoord “enabled” voor dynamische servers is verboden; en de verificatie van niet-standaard URI's is versterkt.
Van de andere opvallende veranderingen van deze nieuwe versie:
- Het voorvoegsel "@virt" kan worden gebruikt om virtuele kaart- en ACL-bestanden te maken die niet op schijf worden opgeslagen, waarbij de inhoud wordt beheerd via de Runtime API.
- Het voorvoegsel “@opt” is beschikbaar, waardoor alleen virtuele bestanden worden gebruikt als er geen echte bestanden op de schijf staan.
- Het parseren is nu strenger tijdens HTTP/1-verwerking voor validatie van het aanvraagdoel.
- Er zijn globale richtlijnen (http-err-codes en http-fail-codes) geïntroduceerd waarmee u kunt instellen welke HTTP-statuscodes moeten worden bijgehouden.
- De uuid Fetch-methode gebruikt nu een optioneel argument dat de versie van de UUID instelt op 4 of 7
- De prestaties van Lua-scripts met één thread die zijn geladen met de richtlijn "lua-load" zijn aanzienlijk verbeterd.
- Het opmaken van logregels in JSON en CBOR wordt nu ondersteund.
- Het is nu mogelijk om identificatiegegevens in UUIDv7-formaat te creëren.
eindelijk als je bent geïnteresseerd om er meer over te wetenkunt u de details in het volgende link.