Failover Protection with TD

Ruk-Com Cloud Traffic Distributor ช่วยป้องกัน failover ขั้นสูงได้อย่างง่ายดายด้วยความช่วยเหลือของโมดูลการตรวจสอบสภาพในตัวซึ่งจะทดสอบ backend อย่างสม่ำเสมอโดยอัตโนมัติเพื่อความพร้อมใช้งานและแยกส่วนที่ไม่พร้อมใช้งานออกจากการกำหนดเส้นทาง ฟังก์ชันนี้จะเปิดใช้งานโดยค่าเริ่มต้น อย่างไรก็ตาม คุณสามารถปรับการทำงานของโมดูลนี้ได้หากต้องการ เพียงทำตามขั้นตอนด้านล่าง

1. ไปที่แผงควบคุม NGINX Config และไปที่ไฟล์ /etc/nginx/nginx-jelastic.conf ภายใน Root:

ดับเบิลคลิกเพื่อเปิดในแท็บใหม่สำหรับแก้ไข

2. เลื่อนลงประมาณบรรทัดที่ 50 ซึ่งมีการประกาศการกำหนดค่า add-on ค้นหาและตรวจสอบโมดูลที่จำเป็นภายในส่วน upstream common โดยมีพารามิเตอร์ต่อไปนี้ (โดยที่พารามิเตอร์ในวงเล็บสี่เหลี่ยมเป็นตัวเลือก):

check interval={interval} fall={fail_count} rise={rise_count} [timeout={timeout}] [default_down={true/false}] [port={port}] [type={type}]

โดยที่:

  • {interval}  – delay ระหว่างการตรวจสอบ requests สองครั้งติดต่อกัน; ตั้งค่าเป็น milliseconds
  • {fail_count}  – จำนวนของการตรวจสอบความล้มเหลว หลังจากนั้นเซิร์ฟเวอร์จะถูกทำเครื่องหมายว่าไม่พร้อมใช้งาน unavailable
  • {rise_count}  – จำนวนของการตรวจสอบที่สำเร็จหลังจากนั้นเซิร์ฟเวอร์จะถูกทำเครื่องหมายว่า up และทำงาน
  • {timeout}  – หมดเวลา (milliseconds) ตรวจสอบสภาพโมดูลที่กำลังรอการตอบกลับจาก backend ก่อนที่ตรวจสอบ request จะถือว่าล้มเหลว
  • {true/false}  – ตั้งค่าสถานะเริ่มต้น (ขึ้นหรือลงตามลำดับ) ของ backends ทั้งสอง (เช่น จนกว่าจะผ่านจำนวนการตรวจสอบที่สอดคล้องกัน) ระบุเป็น true โดยปริยาย
  • {port}  – หมายเลขพอร์ตที่จะใช้ในขณะที่เชื่อมต่อกับ backend เพื่อดำเนินการตรวจสอบสภาพโดยค่าเริ่มต้นจะถูกตั้งค่าเป็น 0 ซึ่งหมายความว่าพอร์ตของเซิร์ฟเวอร์เริ่มต้น (ตามโปรโตคอลที่ตั้งไว้) จะถูกใช้
  • {type} – ประเภทโปรโตคอลที่จะใช้สำหรับการตรวจสภาพ (เช่น เพื่อวิเคราะห์ว่า backend ทำงานหรือไม่)
    • tcp – การเชื่อมต่อ TCP socket อย่างง่าย
    • ssl_hello – ส่งแพ็กเกจ Client Hello SSL ซึ่งควรตอบกลับด้วยข้อความ Server Hello
    • http – ส่งแพ็กเกจ HTTP request เพื่อรับและวิเคราะห์การตอบสนอง (response)
    • mysql – เชื่อมต่อกับ MySQL server และตอบรับคำทักทาย
    • ajp –  ส่งแพ็กเกจ AJP Cping เพื่อรับและแยกวิเคราะห์การตอบสนองของ Cpong
    • fastcgi – ส่งคำขอ FastCGI เพื่อรับและวิเคราะห์การตอบสนอง

ตามที่ตั้งค่าในภาพด้านบน backend ทั้งสองจะได้รับการตรวจสอบ HTTP response ปกติ (เช่น 200 status code) ซึ่งหมายความว่ามีการดำเนินการตามคำขอ) ทุก 3 วินาทีหากการตรวจสอบแล้วล้มเหลว 3 ครั้งติดต่อกัน Backend ที่เกี่ยวข้องจะถูกทำเครื่องหมาย “down” และแยกออกจากเส้นทาง เพื่อให้คำขอทั้งหมดไปที่ environment ที่สองและเมื่อเซิร์ฟเวอร์ที่ล่มทำงานอีกครั้งเซิร์ฟเวอร์นั้นจะถูกเพิ่มเข้าไปใหม่โดยอัตโนมัติ (หลังคำขอสำเร็จติดต่อกัน 3 ครั้ง) ในรายการ backends


3. หลังจากบันทึกการเปลี่ยนแปลงที่กำหนดค่าไว้ใน NGINX balancer การเปลี่ยนแปลงเหล่านี้สามารถใช้ได้โดยไม่ต้องรีสตาร์ทเซิร์ฟเวอร์ทั้งหมด (และเพื่อหลีกเลี่ยงโปรเจกต์หยุดทำงาน) ผ่านการโหลดซ้ำผ่านตัวเลือก Reload configuration ที่เมนู add-on

ยืนยันการตัดสินใจของคุณผ่านป๊อปอัปที่ปรากฎและในไม่กี่วินาทีการตั้งค่า failover protection ใหม่ของคุณจะมีผลบังคับใช้