Dumating ang HAProxy 3.0 na may mga pagpapahusay sa pagganap, mga sertipiko at higit pa

HAProxy

HAProxy ang sikat na open source software load balancer, kamakailan ay inihayag ang paglulunsad ng ang bagong bersyon ng "HAProxy 3.0", na may kasamang serye ng mga update na nangangako na pagbutihin ang pagiging simple, pagganap, pagiging maaasahan at seguridad.

Para sa mga hindi nakakaalam ng HAProxy, dapat alam niyo na ito ay isang load balancer na nagbibigay-daan sa iyong ipamahagi ang trapiko ng HTTP at mga kahilingan sa TCP sa pagitan ng isang pangkat ng mga server. Isinasaalang-alang ng HAProxy ang maraming salik, gaya ng pagiging available ng server, pagtatasa ng antas ng pagkarga, at pagpapatupad ng mga countermeasure ng DDoS.

Pangunahing bagong tampok ng HAProxy 3.0

Ang bagong bersyon na ito na ipinakita ng HAProxy 3.0, ay nakaposisyon bilang isang pangmatagalang bersyon ng suporta (LTS) at susuportahan hanggang 2029 at ay may bagong seksyon ng crt-store na nagbibigay ng flexible na paraan upang mag-imbak at gumamit ng mga SSL certificate, na naghihiwalay sa storage mula sa paggamit sa isang frontend. Nagbibigay-daan ito sa iyo na isa-isang tukuyin ang mga lokasyon ng bawat bahagi ng certificate, tulad ng mga certificate file, key file, at OCSP response file.

Ang isa pang pagbabago na namumukod-tangi ay ang Pinalawak na mga kakayahan para sa pagbabalanse ng mga mensahe ng Syslog. Nabanggit na ang pag-unlad ay nagawa upang maaari ka na ngayong magtakda ng mga timbang sa mga linya ng server sa iyong mga mode logbackend. Samantala, ang malagkit na algorithm, na limitado sa pagrerehistro ng mga backend, ay nalalapat na rin sa mode tcp.mode http backends.

Higit pa rito, sa HAProxy posible na ngayong magtakda ng mga paghihigpit para sa ilang partikular na kahilingan pinapayagan ng HTTP/2 protocol na maaaring magdulot ng mga problema, na nagbibigay-daan sa iyong tukuyin ang mga maling application o kliyente na may hindi naaangkop na gawi

Sa HAProxy 3.0, isang bagong "gabay" na direktiba ang ipinakita, maaaring gamitin ang direktiba na ito sa mga seksyon "frontend", "backend" at "makinig" upang i-link ang isang natatanging identifier sa mga seksyong ito, na nagpapahintulot sa mga nauugnay na istatistika na i-save kahit na pagkatapos ng pag-reboot. Bukod pa rito, ang command na "dump statistics file" ay idinagdag upang i-save ang mga istatistika sa isang file at ang "statistics file" na direktiba ay idinagdag upang basahin ang mga istatistika mula sa isang file pagkatapos ng pag-reboot.

Din, Ang dami ng data na maaaring makuha ay pinalawak, na nagbibigay-daan sa iyong humiling ng impormasyon tungkol sa bilang ng mga bukas na HTTP session, ang laki ng queue ng kahilingan at ang pinapayagang bilang ng mga sabay-sabay na session.

Sa kabilang banda, atl pagganap ng mga lugar ng imbakan ng memorya na nilikha gamit ang stick-table ay tumaas nang malaki sa pamamagitan ng pagpapatupad ng isang mas mahusay na mekanismo ng pag-lock, na makabuluhang nagpapabuti sa pagganap sa mga multi-threaded system. Halimbawa, sa isang system na may 80 mga thread, ang pagganap ay tumaas ng 6 na beses.

Sa mga multi-site na configuration kung saan ang TLS certificate ay pinili batay sa host ID na ibinigay ng TLS SNI extension, ang "default-crt" na argument ay idinagdag upang pumili ng default na certificate kung ang mga kasalukuyang certificate ay hindi tumutugma sa site.

Se idinagdag ang mga aksyon na "set-fc-tos" at "set-bc-tos" upang palitan ang field ng DS (Differentiated Services) sa mga IP packet sa backend o frontend, at ang "set-fc-mark" at "set-bc-mark" na mga aksyon upang markahan ang mga IP packet para sa pagbi-binding sa ibang pagkakataon sa isang partikular na routing table.

Ipinagbabawal na ngayong magpadala ng maraming utos sa Runtime API sa isang kahilingan na pinaghihiwalay ng isang newline na character; ang pagtatakda ng "pinagana" na keyword para sa mga dynamic na server ay ipinagbabawal; at pinalakas ang pag-verify ng mga hindi karaniwang URI.

Ng iba pang mga pagbabago na namumukod-tangi ng bagong bersyon na ito:

  • Maaaring gamitin ang prefix na "@virt" upang lumikha ng virtual na mapa at mga ACL file na hindi naka-save sa disk, na may nilalamang pinamamahalaan sa pamamagitan ng Runtime API.
  • Ang prefix na "@opt" ay magagamit na gumagamit lamang ng mga virtual na file kung walang totoong mga file sa disk.
  •  Mas mahigpit na ngayon ang pag-parse sa panahon ng pagproseso ng HTTP/1 para sa pag-validate ng target ng kahilingan.
  • Ang mga pandaigdigang direktiba (http-err-codes at http-fail-codes) ay ipinakilala na nagbibigay-daan sa iyong itakda ang mga HTTP status code upang masubaybayan.
  • Ang uuid Fetch na paraan ay tumatagal na ngayon ng opsyonal na argumento na nagtatakda ng bersyon ng UUID sa 4 o 7
  • Ang pagganap ng single-threaded na mga script ng Lua na na-load gamit ang "lua-load" na direktiba ay makabuluhang napabuti.
  • Sinusuportahan na ngayon ang pag-format ng mga linya ng log sa JSON at CBOR.
  • Posible na ngayong lumikha ng mga identifier sa format na UUIDv7.

sa wakas kung ikaw nga interesadong malaman ang higit pa tungkol dito, maaari mong suriin ang mga detalye sa sumusunod na link.