HAProxy 3.0 มาพร้อมกับการปรับปรุงประสิทธิภาพ ใบรับรอง และอื่นๆ อีกมากมาย

HAProxy

HAProxy โหลดบาลานเซอร์ซอฟต์แวร์โอเพ่นซอร์สยอดนิยม ที่เพิ่งประกาศเปิดตัว เวอร์ชันใหม่ของ "HAProxy 3.0"ซึ่งมาพร้อมกับชุดการอัปเดตที่สัญญาว่าจะปรับปรุงความเรียบง่าย ประสิทธิภาพ ความน่าเชื่อถือ และความปลอดภัย

สำหรับผู้ที่ไม่ทราบเกี่ยวกับ HAProxy คุณควรรู้สิ่งนี้ คือโหลดบาลานเซอร์ที่ให้คุณกระจายการรับส่งข้อมูล HTTP และคำขอ TCP ระหว่างกลุ่มเซิร์ฟเวอร์ HAProxy คำนึงถึงปัจจัยหลายประการ เช่น ความพร้อมใช้งานของเซิร์ฟเวอร์ การประเมินระดับโหลด และการนำมาตรการตอบโต้ DDoS ไปใช้

คุณสมบัติใหม่หลักของ HAProxy 3.0

เวอร์ชันใหม่ที่นำเสนอของ HAProxy 3.0 อยู่ในตำแหน่งที่เป็นเวอร์ชันสนับสนุนระยะยาว (LTS) และจะได้รับการสนับสนุนจนถึงปี 2029 และ มีส่วนร้านค้า crt ใหม่ ซึ่งมอบวิธีที่ยืดหยุ่นในการจัดเก็บและใช้ใบรับรอง SSL โดยแยกพื้นที่เก็บข้อมูลออกจากการใช้งานบนส่วนหน้า ซึ่งช่วยให้คุณระบุตำแหน่งของส่วนประกอบใบรับรองแต่ละรายการได้ เช่น ไฟล์ใบรับรอง ไฟล์คีย์ และไฟล์ตอบกลับ OCSP

การเปลี่ยนแปลงที่โดดเด่นอีกประการหนึ่งคือ ความสามารถเพิ่มเติมสำหรับการปรับสมดุลข้อความ Syslog มีการกล่าวถึงว่ามีความคืบหน้าเพื่อให้คุณสามารถกำหนดน้ำหนักบนบรรทัดเซิร์ฟเวอร์ในโหมดล็อกแบ็กเอนด์ของคุณได้ ในขณะเดียวกัน อัลกอริธึม Sticky ซึ่งจำกัดเฉพาะการลงทะเบียนแบ็กเอนด์ ตอนนี้ใช้กับแบ็กเอนด์ http ของโหมด tcp.mode ด้วยเช่นกัน

นอกจากนี้ใน HAProxy ขณะนี้สามารถกำหนดข้อจำกัดสำหรับคำขอบางอย่างได้แล้ว อนุญาตโดยโปรโตคอล HTTP/2 ที่อาจทำให้เกิดปัญหาทำให้คุณสามารถระบุแอปพลิเคชันหรือไคลเอนต์ที่ผิดพลาดซึ่งมีพฤติกรรมไม่เหมาะสม

ใน HAProxy 3.0 มีการนำเสนอคำสั่ง "guid" ใหม่ คำสั่งนี้สามารถใช้ได้ในส่วนต่างๆ "ส่วนหน้า", "ส่วนหลัง" และ "ฟัง" เพื่อเชื่อมโยงตัวระบุที่ไม่ซ้ำกับส่วนเหล่านี้ อนุญาตให้บันทึกสถิติที่เกี่ยวข้องแม้หลังจากรีบูตเครื่องแล้ว นอกจากนี้ คำสั่ง "ไฟล์สถิติการถ่ายโอนข้อมูล" ได้ถูกเพิ่มเพื่อบันทึกสถิติลงในไฟล์ และเพิ่มคำสั่ง "ไฟล์สถิติ" เพื่ออ่านสถิติจากไฟล์หลังจากรีบูต

เช่นกัน, จำนวนข้อมูลที่สามารถรับได้ได้ถูกขยายออกไปช่วยให้คุณสามารถขอข้อมูลเกี่ยวกับจำนวนเซสชัน HTTP ที่เปิดอยู่ ขนาดของคิวคำขอ และจำนวนเซสชันพร้อมกันที่อนุญาต

ในทางกลับกันและประสิทธิภาพของพื้นที่เก็บข้อมูลหน่วยความจำที่สร้างด้วยแท่งตาราง เพิ่มขึ้นอย่างมีนัยสำคัญโดยการใช้กลไกการล็อคที่มีประสิทธิภาพมากขึ้น ซึ่งปรับปรุงประสิทธิภาพบนระบบแบบมัลติเธรดอย่างมีนัยสำคัญ ตัวอย่างเช่น บนระบบที่มี 80 เธรด ประสิทธิภาพจะเพิ่มขึ้น 6 เท่า

ในการกำหนดค่าหลายไซต์ที่เลือกใบรับรอง TLS ตามรหัสโฮสต์ที่ได้รับจากส่วนขยาย TLS SNI อาร์กิวเมนต์ "default-crt" จะถูกเพิ่มเพื่อเลือกใบรับรองเริ่มต้นหากใบรับรองที่มีอยู่ไม่ตรงกับไซต์

Se เพิ่มการกระทำ "set-fc-tos" และ "set-bc-tos" เพื่อแทนที่ฟิลด์ DS (บริการที่แตกต่าง) บนแพ็กเก็ต IP บนแบ็กเอนด์หรือส่วนหน้า และการดำเนินการ "set-fc-mark" และ "set-bc-mark" เพื่อทำเครื่องหมายแพ็กเก็ต IP สำหรับการเชื่อมโยงกับตารางเส้นทางเฉพาะในภายหลัง

ขณะนี้ห้ามส่งคำสั่งหลายคำสั่งไปยัง Runtime API ในคำขอเดียวโดยคั่นด้วยอักขระขึ้นบรรทัดใหม่ ห้ามตั้งค่าคีย์เวิร์ด "เปิดใช้งาน" สำหรับเซิร์ฟเวอร์แบบไดนามิก และการตรวจสอบ URI ที่ไม่ได้มาตรฐานได้รับความเข้มแข็งมากขึ้น

ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น ของเวอร์ชันใหม่นี้:

  • คำนำหน้า "@virt" สามารถใช้เพื่อสร้างแผนที่เสมือนและไฟล์ ACL ที่ไม่ได้บันทึกลงดิสก์ โดยมีการจัดการเนื้อหาผ่าน Runtime API
  • คำนำหน้า @opt พร้อมใช้งานซึ่งใช้ไฟล์เสมือนเฉพาะในกรณีที่ไม่มีไฟล์จริงบนดิสก์
  •  ขณะนี้การแยกวิเคราะห์มีความเข้มงวดมากขึ้นในระหว่างการประมวลผล HTTP/1 สำหรับการตรวจสอบความถูกต้องของคำขอ
  • มีการแนะนำคำสั่งสากล (http-err-codes และ http-fail-codes) ที่อนุญาตให้คุณตั้งค่ารหัสสถานะ HTTP ที่จะติดตาม
  • ขณะนี้เมธอด uuid Fetch ใช้อาร์กิวเมนต์ทางเลือกที่ตั้งค่าเวอร์ชันของ UUID เป็น 4 หรือ 7
  • ประสิทธิภาพของสคริปต์ Lua แบบเธรดเดี่ยวที่โหลดโดยใช้คำสั่ง "lua-load" ได้รับการปรับปรุงอย่างมีนัยสำคัญ
  • รองรับการจัดรูปแบบบรรทัดบันทึกใน JSON และ CBOR แล้ว
  • ขณะนี้สามารถสร้างตัวระบุในรูปแบบ UUIDv7 ได้แล้ว

ในที่สุดถ้าคุณเป็น สนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้คุณสามารถตรวจสอบรายละเอียดได้ในไฟล์ ลิงค์ต่อไปนี้