Το HAProxy 3.0 έρχεται με βελτιώσεις απόδοσης, πιστοποιητικά και άλλα

HAProxy

HAProxy το δημοφιλές πρόγραμμα εξισορρόπησης φόρτου λογισμικού ανοιχτού κώδικα, πρόσφατα ανακοίνωσε την έναρξη της τη νέα έκδοση του "HAProxy 3.0", το οποίο συνοδεύεται από μια σειρά ενημερώσεων που υπόσχονται να βελτιώσουν την απλότητα, την απόδοση, την αξιοπιστία και την ασφάλεια.

Για όσους δεν γνωρίζουν για το HAProxy, θα πρέπει να ξέρετε ότι αυτό είναι ένα πρόγραμμα εξισορρόπησης φορτίου που σας επιτρέπει να διανέμετε την κίνηση HTTP και τα αιτήματα TCP μεταξύ μιας ομάδας διακομιστών. Το HAProxy λαμβάνει υπόψη πολλούς παράγοντες, όπως τη διαθεσιμότητα διακομιστή, την αξιολόγηση του επιπέδου φόρτωσης και την εφαρμογή αντιμέτρων DDoS.

Κύρια νέα χαρακτηριστικά του HAProxy 3.0

Αυτή η νέα έκδοση που παρουσιάζεται του HAProxy 3.0, τοποθετείται ως έκδοση μακροπρόθεσμης υποστήριξης (LTS) και θα υποστηρίζεται έως το 2029 και έχει νέο τμήμα crt-store που παρέχει έναν ευέλικτο τρόπο αποθήκευσης και χρήσης πιστοποιητικών SSL, διαχωρίζοντας την αποθήκευση από τη χρήση σε μια διεπαφή. Αυτό σας επιτρέπει να καθορίσετε μεμονωμένα τις θέσεις κάθε στοιχείου πιστοποιητικού, όπως αρχεία πιστοποιητικών, αρχεία κλειδιών και αρχεία απόκρισης OCSP.

Μια άλλη από τις αλλαγές που ξεχωρίζει είναι η Διευρυμένες δυνατότητες για εξισορρόπηση μηνυμάτων Syslog. Αναφέρεται ότι έχει σημειωθεί πρόοδος ώστε να μπορείτε πλέον να ορίζετε βάρη στις γραμμές διακομιστή στα logbackends της λειτουργίας σας. Εν τω μεταξύ, ο κολλώδης αλγόριθμος, ο οποίος περιοριζόταν στην καταχώρηση backends, τώρα ισχύει και για τη λειτουργία tcp.mode http backends.

Επιπλέον, στο HAProxy είναι πλέον δυνατό να τεθούν περιορισμοί για ορισμένα αιτήματα επιτρέπεται από το πρωτόκολλο HTTP/2 που μπορεί να προκαλέσει προβλήματα, επιτρέποντάς σας να εντοπίσετε ελαττωματικές εφαρμογές ή πελάτες με ακατάλληλη συμπεριφορά

Στο HAProxy 3.0, παρουσιάζεται μια νέα «κατευθυντήρια» οδηγία, αυτή η οδηγία μπορεί να χρησιμοποιηθεί σε ενότητες "frontend", "backend" και "listen" για να συνδέσετε ένα μοναδικό αναγνωριστικό σε αυτές τις ενότητες, επιτρέποντας την αποθήκευση σχετικών στατιστικών ακόμα και μετά την επανεκκίνηση. Επιπλέον, έχει προστεθεί η εντολή "αρχείο στατιστικών αποτύπωσης" για την αποθήκευση στατιστικών στοιχείων σε ένα αρχείο και η οδηγία "αρχείο στατιστικών στοιχείων" έχει προστεθεί για την ανάγνωση στατιστικών στοιχείων από ένα αρχείο μετά την επανεκκίνηση.

Επισης, Ο όγκος των δεδομένων που μπορούν να ληφθούν έχουν διευρυνθεί, που σας επιτρέπει να ζητάτε πληροφορίες σχετικά με τον αριθμό των ανοιχτών περιόδων σύνδεσης HTTP, το μέγεθος της ουράς αιτημάτων και τον επιτρεπόμενο αριθμό ταυτόχρονων περιόδων σύνδεσης.

Από την άλλη πλευρά, καιl απόδοση των χώρων αποθήκευσης μνήμης που δημιουργούνται με stick-table έχει αυξηθεί σημαντικά με την εφαρμογή ενός πιο αποτελεσματικού μηχανισμού κλειδώματος, ο οποίος βελτιώνει σημαντικά την απόδοση σε συστήματα πολλαπλών νημάτων. Για παράδειγμα, σε ένα σύστημα με 80 νήματα, η απόδοση έχει αυξηθεί κατά 6 φορές.

Σε διαμορφώσεις πολλών τοποθεσιών όπου το πιστοποιητικό TLS επιλέγεται με βάση το αναγνωριστικό κεντρικού υπολογιστή που παρέχεται από την επέκταση TLS SNI, το όρισμα "default-crt" έχει προστεθεί για την επιλογή ενός προεπιλεγμένου πιστοποιητικού εάν τα υπάρχοντα πιστοποιητικά δεν ταιριάζουν με τον ιστότοπο.

Se πρόσθεσε τις ενέργειες "set-fc-tos" και "set-bc-tos" για να αντικαταστήσει το πεδίο DS (Διαφοροποιημένες υπηρεσίες) σε πακέτα IP στο backend ή στο frontend και τις ενέργειες "set-fc-mark" και "set-bc-mark" για τη σήμανση πακέτων IP για μετέπειτα δέσμευση σε έναν συγκεκριμένο πίνακα δρομολόγησης.

Απαγορεύεται πλέον η αποστολή πολλαπλών εντολών στο Runtime API σε ένα αίτημα που χωρίζεται με χαρακτήρα νέας γραμμής. Ο ορισμός της λέξης-κλειδιού "ενεργοποιημένη" για δυναμικούς διακομιστές απαγορεύεται. και η επαλήθευση των μη τυπικών URI έχει ενισχυθεί.

Του άλλες αλλαγές που ξεχωρίζουν αυτής της νέας έκδοσης:

  • Το πρόθεμα "@virt" μπορεί να χρησιμοποιηθεί για τη δημιουργία εικονικών χαρτών και αρχείων ACL που δεν αποθηκεύονται στο δίσκο, με διαχείριση περιεχομένου μέσω του API χρόνου εκτέλεσης.
  • Το πρόθεμα "@opt" είναι διαθέσιμο το οποίο χρησιμοποιεί εικονικά αρχεία μόνο εάν δεν υπάρχουν πραγματικά αρχεία στο δίσκο.
  •  Η ανάλυση είναι πλέον αυστηρότερη κατά την επεξεργασία HTTP/1 για επικύρωση στόχου αιτήματος.
  • Έχουν εισαχθεί παγκόσμιες οδηγίες (http-err-codes και http-fail-codes) που σας επιτρέπουν να ορίσετε τους κωδικούς κατάστασης HTTP για παρακολούθηση.
  • Η μέθοδος uuid Fetch παίρνει τώρα ένα προαιρετικό όρισμα που ορίζει την έκδοση του UUID σε 4 ή 7
  • Η απόδοση των σεναρίων Lua μονού νήματος που έχουν φορτωθεί χρησιμοποιώντας την οδηγία "lua-load" έχει βελτιωθεί σημαντικά.
  • Η μορφοποίηση γραμμών καταγραφής σε JSON και CBOR υποστηρίζεται πλέον.
  • Είναι πλέον δυνατή η δημιουργία αναγνωριστικών σε μορφή UUIDv7.

τελικά αν είσαι ενδιαφέρεται να μάθει περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες στο παρακάτω σύνδεσμο.