วิธีจัดการการรับส่งข้อมูล UDP ด้วย HAProxy

Withi Cadkar Kar Rab Sng Khxmul Udp Dwy Haproxy



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

ในตอนแรก HAProxy ไม่รองรับการรับส่งข้อมูล UDP เวอร์ชัน HAProxy ที่ล้าสมัยยังคงไม่รองรับการรับส่งข้อมูล UDP ในการจัดการการรับส่งข้อมูล UDP คุณต้องติดตั้ง HAProxy จากเวอร์ชัน 1.5 ด้วยเหตุนี้ โพสต์นี้จะแนะนำคุณเกี่ยวกับวิธีจัดการการรับส่งข้อมูล UDP ด้วย HAProxy เราจะพูดถึงความสำคัญของ HAProxy และการกำหนดค่าที่คุณควรทำเพื่อจัดการกับการรับส่งข้อมูล UDP มาเริ่มกันเลย!

HAProxy รองรับการรับส่งข้อมูล UDP หรือไม่

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







ก่อนหน้านี้ เวอร์ชัน HAProxy ไม่รองรับการจัดการการรับส่งข้อมูล UDP อย่างไรก็ตาม HAProxy ซึ่งเริ่มตั้งแต่เวอร์ชัน 1.5 รองรับการจัดการการรับส่งข้อมูล UDP HAProxy ใช้งานได้กับการรับส่งข้อมูลที่เน้นการเชื่อมต่อเท่านั้น แต่ตอนนี้คุณสามารถกำหนดค่าให้จัดการการรับส่งข้อมูลแบบไร้การเชื่อมต่อได้เช่นเดียวกับการรับส่งข้อมูล UDP



วิธีจัดการการรับส่งข้อมูล UDP ด้วย HAProxy

การจัดการการรับส่งข้อมูล UDP ด้วย HAProxy ทำตามขั้นตอนเดียวกับการจัดการการรับส่งข้อมูล TCP หรือ HTTP อย่างไรก็ตาม คุณต้องระบุการตั้งค่า UDP ในส่วนส่วนหน้าของไฟล์กำหนดค่า HAProxy ของคุณเพื่อให้คาดหวังและยอมรับการรับส่งข้อมูล UDP



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





$ ซูโดะ apt-get ติดตั้ง haproxy

เมื่อติดตั้งแล้ว ให้ยืนยันว่าเวอร์ชันที่ติดตั้งเป็นเวอร์ชันล่าสุดและสูงกว่าเวอร์ชัน 1.5 เพื่อรองรับ UDP



$ haproxy --รุ่น

เราได้ติดตั้งเวอร์ชัน 2.4 สำหรับกรณีนี้แล้ว ซึ่งหมายความว่าจะสามารถรองรับการรับส่งข้อมูล UDP ได้อย่างสะดวกสบาย

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

$ ซูโดะ นาโน / ฯลฯ / haproxy / haproxy.cfg

เมื่อไฟล์เปิดขึ้นมา ให้ปล่อยส่วนส่วนกลางไว้เหมือนเดิม

เลื่อนลงไปที่ส่วน “ค่าเริ่มต้น” และแก้ไขเพื่อระบุตำแหน่งที่จะส่งไฟล์บันทึกและการหมดเวลาสำหรับงานต่างๆ เช่น ระยะเวลาในการรอการเชื่อมต่อขาเข้า

จากนั้นเราจะต้องสร้างส่วน 'ฟัง' ในส่วนนี้ เราจะกำหนดวิธีการรับฟังการเชื่อมต่อ เราต้องระบุเป็น HAProxy เพื่อรับฟังการรับส่งข้อมูล UDP จากนั้นตั้งค่าพอร์ต UDP ที่เราต้องการผูกและใช้สำหรับการรับส่งข้อมูล UDP ขาเข้า สุดท้ายนี้ เราสามารถระบุวิธีสร้างสมดุลการรับส่งข้อมูล UDP ขาเข้าและเซิร์ฟเวอร์ที่จะใช้เพื่อกระจายการรับส่งข้อมูล UDP

นี่คือตัวอย่างของส่วน 'ฟัง' ที่จัดการการรับส่งข้อมูล UDP

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

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

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

บทสรุป

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