ฉันใช้ล้มเหลวของ DNS RR ในเว็บไซต์ที่มีการดูแลการแสดงโฆษณาปานกลาง แต่มีความสำคัญต่อธุรกิจ (ในสองภูมิภาค) เป็นเวลาหลายปี
มันใช้งานได้ดี แต่มีอย่างน้อยสาม subtleties ฉันเรียนรู้วิธีที่ยาก
1) เบราว์เซอร์จะล้มเหลวจาก IP ที่ไม่ทำงานไปเป็น IP ที่ทำงานหลังจาก 30 วินาที (ครั้งสุดท้ายที่ฉันตรวจสอบ) หากทั้งสองพิจารณาว่ามีการใช้งานใน DNS แคชใด ๆ ที่มีให้กับลูกค้าของคุณ นี่เป็นสิ่งที่ดี
แต่การมี "ครึ่ง" ผู้ใช้ของคุณรอ 30 วินาทีไม่เป็นที่ยอมรับดังนั้นคุณอาจต้องการอัปเดตระเบียน TTL ของคุณเป็นเวลาไม่กี่นาทีไม่ใช่ไม่กี่วันหรือสัปดาห์เพื่อให้ในกรณีที่ไฟดับคุณสามารถลบเซิร์ฟเวอร์ลงได้อย่างรวดเร็ว จาก DNS ของคุณ คนอื่น ๆ พูดพาดพิงถึงสิ่งนี้ในการตอบสนองของพวกเขา
2) หากหนึ่งในเซิร์ฟเวอร์ชื่อของคุณ (หรือหนึ่งในสองพื้นที่ทางภูมิศาสตร์ของคุณทั้งหมด) ลงซึ่งให้บริการโดเมน round-robin ของคุณและถ้าหนึ่งในหลักของพวกเขาลงไปฉันจำได้ยากว่าคุณสามารถพบกับปัญหาอื่น ๆ downs nameserver จาก DNS ถ้าคุณยังไม่ได้ตั้งค่า SOA TTL / expiration ของคุณสำหรับ nameserver ให้มีค่าต่ำพอสมควรเช่นกัน ฉันอาจมีรายละเอียดทางเทคนิคผิดที่นี่ แต่มีมากกว่าหนึ่งการตั้งค่า TTL ที่คุณต้องได้รับสิทธิในการป้องกันความล้มเหลวจุดเดียวจริงๆ
3) หากคุณเผยแพร่เว็บ API บริการ REST และอื่น ๆ โดยทั่วไปเบราว์เซอร์จะไม่ถูกเรียกใช้ดังนั้นในความเห็นของฉัน DNS failover เริ่มแสดงข้อบกพร่องที่แท้จริง นี่อาจเป็นสาเหตุที่บางคนพูดตามที่คุณวางไว้ "ไม่แนะนำ" นี่คือเหตุผลที่ฉันพูดอย่างนั้น ก่อนอื่นแอปที่ใช้ URL เหล่านั้นไม่ใช่เบราว์เซอร์ดังนั้นจึงไม่มีคุณสมบัติ / ตรรกะการเข้าแทนที่ 30 วินาทีของเบราว์เซอร์ทั่วไป ข้อที่สองไม่ว่าจะมีการเรียกใช้รายการ DNS ที่สองหรือไม่ก็ตามและถึงแม้ DNS จะถูกโพลใหม่นั้นขึ้นอยู่กับรายละเอียดการเขียนโปรแกรมระดับต่ำของไลบรารีเครือข่ายในภาษาการเขียนโปรแกรมที่ใช้โดยไคลเอนต์ API / REST เหล่านี้ แอปไคลเอ็นต์ API / REST (ภายใต้ที่ครอบคลุมไลบรารีจะเรียก get_addr และเมื่อใดถ้าซ็อกเก็ตหยุดทำงานหรือปิดแอปจะเปิดซ็อกเก็ตใหม่อีกครั้งหรือไม่มีตรรกะการหมดเวลาบ้างหรือไม่ ฯลฯ )
มันถูกทดสอบอย่างดีและ "ส่วนใหญ่ใช้งานได้" ไมล์สะสมของคุณอาจแตกต่างกันไป