Viie aasta möödudes 2.0 haru loomisest on avaldatud HAProxy 3.0 koormuse jaotaja, mis vĂ”imaldab HTTP liiklust ja muid TCP-pĂ€ringuid jagada serverite gruppi, arvestades mitmeid tegureid (nt kontrollib serverite kĂ€ttesaadavust, hindab koormust, sisaldab DDOS-i tĂ”kestamise meetmeid) ja tehes esmase andmete filtreerimise (nt saab analĂŒĂŒse teha HTTP pealkirjade peale, filtreerida vale pĂ€ringu parameetrite edastamist, blokeerida SQL sĂŒstimist ja XSS-i, liita sisu töötlemise agente). HAProxy-d saab kasutada ka komponentide koordineerimiseks mikroteenuste arhitektuuril pĂ”hinevates sĂŒsteemides. Projekti kood on kirjutatud C keeles ja on vĂ€lja antud GPLv2 litsentsi alusel. Projekti kasutatakse paljude suurte veebilehtede, sealhulgas Airbnb, Alibaba, GitHub, Imgur, Instagram, Reddit, StackOverflow, Tumblr, Twitter ja Vimeo poolt.
HAProxy 3.0 haru on mÀÀratud pikaajalise toe (LTS) vÀljaandeks ja selle toetamine jÀtkub kuni 2029. aastani. Peamised muudatused:
- Konfiguratsiooni on lisatud uus jaotis "crt-store" TLS-sertifikaatide salvestamise ja kasutamise seadistamiseks. Erinevalt varasemast crt-list seadmest on crt-store sertifikaatide salvestamine eraldi nende kasutamisest front-endis, mis vÔimaldab igale sertifikaadi komponendile (sertifikaatide, vÔtmete ja OCSP andmete failid) eraldi salvestuskoha mÀÀrata.
- Lisatud on vĂ”imalus kehtestada piiranguid HTTP/2 pĂ€ringute jaoks, mis on protokolli poolt lubatud, kuid vĂ”ivad tekitada probleeme. NĂ€iteks CONTINUATION kaadrifaili edastamine vĂ”ib pĂ”hjustada Continuation flood DoS rĂŒnnaku.
- Lisatud on uus konfiguratsiooni direktiiv "guid", mida saab kasutada jaotistes "frontend", "backend" ja "listen". Direktiiv seondub nende jaotistega unikaalse ID-ga, mis vÔimaldab sÀilitada jaotisega seotud statistikat pÀrast taaskÀivitamist (Stati lehe olek ei taastata). Statistika salvestamiseks faili on lisatud uus kÀsk "dump stats-file", ja faili lugemiseks pÀrast taaskÀivitamist on lisatud uus konfiguratsiooni direktiiv "stats-file."
- Syslog sÔnumite koormuse tasakaalustamise vÔimalusi on laiendatud. Lisatud on vÔimalus mÀÀrata kaalud serveritega seotud ridadele backendide logides.
- Lisatud toimetamise tugi logide vormindamiseks JSON ja CBOR formaadis.
- Andmed, mida saab saada teabe eraldamise funktsioonide abil, on laiendatud, nĂ€iteks on vĂ”imalik kĂŒsida teavet avatud HTTP-seansside arvu kohta backendis ja frontendis, ootejĂ€rjekorra suuruse kohta ning lubatud samade seansside arvu.
- Ăhe lĂ”imega Lua-skriptide jĂ”udlust on suurendatud, mida laaditakse âlua-loadâ direktiivi abil.
- Oluliselt on paranenud mĂ€lu hoidmisala jĂ”udlus, mis luuakse stick-table direktiivi abil. NĂ€iteks sĂŒsteemis, kus on 80 lĂ”ime, on jĂ”udlus kasvanud kuus korda.
- Mitme saidiga konfigureerimistes, kus TLS-sertifikaat valitakse hosti identifikaator, mis edastatakse TLS-i laienduse SNI abil, on lisatud argumendiks âdefault-crtâ, mis vĂ”imaldab mÀÀrata vaikesertifikaadi, kui ei suudeta siduda olemasolevaid sertifikaate saidiga.
- Lisatud toimingud âset-fc-tosâ ja âset-bc-tosâ backendis vĂ”i frontendis IP-pakettide DS (Differentiated Services) vĂ€lja asendamiseks, mis mÀÀrab liikluse prioriteedi.
- Lisatud toimingud âset-fc-markâ ja âset-bc-markâ, millega saab IP-pakette mĂ€rgistada backendis vĂ”i frontendis, nĂ€iteks edasise sidumise jaoks konkreetse marsruutimistabeliga.
- UUIDv7 formaadis identifikaatorite loomise tugi on lisatud.
- Rakendatud on vĂ”imalus kasutada prefiksi â@virtâ virtuaalsete ACL ja Map failide loomiseks, mis ei salvestata kettale. Virtuaalsete ACL ja Map failide sisu lisatakse ja eemaldatakse Runtime API kaudu. Samuti on saadaval prefiks â@optâ, mille puhul virtuaalsed failid rakenduvad ainult siis, kui kettal ei ole tegelikku faili.
- Tehtud on tagurpidi ĂŒhilduvust rikkuvaid muudatusi: lubatud ei ole saata Runtime API-s mitmeid kĂ€sklusi ĂŒhes pĂ€ringus, eraldades need reavahetuse sĂŒmboliga; dĂŒnaamilistele serverid; rangem kontroll mittestandartsete URI-de ĂŒle.
Allikas: opennet.ru
