Load Balancer Pool Distribution Analyzer
วิเคราะห์การกระจายกลุ่มโหลดบาลานเซอร์
จำลองว่าอัลกอริทึมโหลดบาลานซ์ที่แตกต่างกันกระจายทราฟฟิกไปยังสมาชิกในกลุ่มอย่างไร จำลองสถานการณ์ความล้มเหลวและเปรียบเทียบประสิทธิภาพการกระจายใหม่
ปริมาณทราฟฟิก
สมาชิกกลุ่ม
การจำลองสถานการณ์ความล้มเหลว
วิธีทำงาน: IP ของไคลเอนต์ถูกสุ่มจาก subnet /16 (10.0.0.0/16)
สำหรับการแฮชตามแหล่งที่มา แต่ละ IP ของไคลเอนต์ที่ไม่ซ้ำกันจะถูกแมปไปยังสมาชิกอย่างกำหนด
Round robin ละเลย IP ของไคลเอนต์และกระจายแบบลำดับ น้ำหนักใช้การกำหนดแบบสุ่มตามสัดส่วน
Consistent hashing วางทั้งไคลเอนต์และสมาชิกบนวงแหวนเสมือน
สมาชิกกลุ่ม
| ID | IP:Port | น้ำหนัก | สถานะ | การดำเนินการ |
|---|
ผลลัพธ์การกระจาย
การกระจายเซสชันต่อสมาชิก
การวิเคราะห์การกระจายใหม่เมื่อเกิดความล้มเหลว
Consistent Hash Ring
วิธีอ่านวงแหวน: สมาชิกแต่ละรายถูกวางไว้ที่หลายจุดรอบวงแหวน
(โหนดเสมือน) IP ของไคลเอนต์จะถูกแฮชไปยังตำแหน่งบนวงแหวน จากนั้นคำขอจะถูกส่ง
ไปยังสมาชิกที่ใกล้ที่สุดตามเข็มนาฬิกา การเพิ่มหรือลบสมาชิกจะส่งผลกระทบเฉพาะส่วนโค้ง
ที่สมาชิกนั้นเป็นเจ้าของ ซึ่งช่วยลดการขัดจังหวะเซสชันให้น้อยที่สุด
ข้อมูลอ้างอิงอัลกอริทึม
Round Robin
เซสชันจะถูกกำหนดแบบลำดับ: สมาชิก 1, 2, 3, ..., N, 1, 2, ... สมาชิกแต่ละราย
จะได้รับคำขอทั้งหมดเท่ากับ 1/N ละเลยความจุของเซิร์ฟเวอร์และความผูกพันของไคลเอนต์
เรียบง่ายและคาดเดาได้ แต่ทำงานได้ไม่ดีกับฮาร์ดแวร์ที่แตกต่างกัน
Source IP Hash
การแฮชของ IP ไคลเอนต์แบบ modulo ด้วยจำนวนสมาชิกจะเลือกแบ็กเอนด์ ไคลเอนต์รายเดิม
จะเข้าถึงสมาชิกรายเดิมเสมอ — มีประโยชน์สำหรับแอปพลิเคชันที่มีสถานะ การเพิ่มหรือลบ
สมาชิกจะจัดเรียงแผนที่ของไคลเอนต์ ทั้งหมดใหม่ (N เปลี่ยนไปเป็น (N-1)/N ของเซสชันทั้งหมด)
Weighted
สมาชิกแต่ละรายจะได้รับส่วนแบ่งที่แปรผันตามน้ำหนักของตนเทียบกับน้ำหนักรวมของกลุ่ม
สมาชิกที่มีน้ำหนัก=4 จะได้รับเซสชันมากกว่าสมาชิกน้ำหนัก=1 ถึง 4 เท่า ใช้เพื่อจำลอง
ความจุแบ็กเอนด์ที่แตกต่างกัน (เช่น VM เทียบกับ bare-metal server)
Consistent Hashing
ทั้งสมาชิกและไคลเอนต์จะถูกแมปไปยังวงแหวนวงกลมผ่านการแฮช ไคลเอนต์แต่ละรายจะไปที่
สมาชิกที่ใกล้ที่สุดตามเข็มนาฬิกาบนวงแหวน โหนดเสมือน (โหนดซ้ำต่อสมาชิก)
ปรับปรุงความสม่ำเสมอของการกระจาย เมื่อสมาชิกล้มเหลว เซสชันของสมาชิกนั้นจะย้ายไปยัง
สมาชิกถัดไปบนวงแหวนเท่านั้น — รบกวน 1/N เซสชัน เทียบกับ 100% สำหรับการแฮชแบบ modulo