เรากำลังพบปัญหาที่แปลกประหลาดมากในการใช้ Azure Loadbancer กับ AKS
เรามีเว็บไซต์ที่ยอมรับการเชื่อมต่อ WebSocket สิ่งนี้เปลี่ยนจากไคลเอนต์ไปยัง AZ Loadbalancer และเข้าสู่เว็บไซต์ภายใน AKS
ในแอปทดสอบความเครียด เราสร้างการเชื่อมต่อเว็บซ็อกเก็ต 10k พวกเขาทั้งหมดเชื่อมต่อ
หากเราหยุดการเชื่อมต่อโดยไม่ผ่อนผัน เราจะเห็นการเชื่อมต่อเริ่มต้นลดลงระหว่างตัวโหลดบาลานซ์และเว็บไซต์
แต่.. มันจะวนเวียนอยู่กับการเชื่อมต่อแบบสุ่มประมาณ 15-20 นาทีก่อนที่การเชื่อมต่อทั้งหมดจะหายไป
เช่นนั้น:
(กราฟคือโฟลว์ขาเข้าของตัวโหลดบาลานซ์ที่มีการดึงเหตุการณ์แอปทดสอบเข้ามา)
หากเรารันแอปทดสอบการโหลดกับเว็บไซต์แทน โดยผ่าน AZ Loadbalancer ทุกอย่างจะทำงานตามที่คาดไว้ การฆ่าแอปทดสอบจะทำให้การเชื่อมต่อทั้งหมดในเว็บไซต์ลดลงทันที
Azure Loadbalancer ไม่มีการตั้งค่ามากมาย เราได้ลองทั้ง Sticky-sessions: None และ Client IP ซึ่งมีลักษณะการทำงานเหมือนกัน
เราได้ตรวจสอบแล้วว่าไม่มีการเชื่อมต่อไคลเอนต์ที่ซ่อนอยู่จากเครื่องแอปทดสอบ ปิดการใช้งานเครือข่ายโดยสิ้นเชิง นั่นจึงไม่ใช่ปัญหา
เราไม่จำเป็นต้องเชื่อมต่อซ็อกเก็ตใหม่ในแง่นั้น ไคลเอ็นต์สามารถเชื่อมต่อใหม่ทั้งหมดได้หากตัดการเชื่อมต่อ
ความประทับใจของเราคือตัวโหลดบาลานเซอร์พยายามอย่างชาญฉลาด ในกรณีที่การเชื่อมต่ออาจเชื่อมต่อใหม่ในภายหลัง
หากเป็นกรณีนี้ สามารถปิดการใช้งานได้หรือไม่?
ยินดีรับคำแนะนำเกี่ยวกับสิ่งที่เราควรลอง