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 ใหม่ของคุณจะมีผลบังคับใช้