ฉันเป็นเจ้าของและดำเนินงานvisualwebsiteoptimizer.com / แอพให้ข้อมูลโค้ดซึ่งลูกค้าของฉันใส่ในเว็บไซต์เพื่อติดตามตัวชี้วัดบางอย่าง เนื่องจากข้อมูลโค้ดเป็น JavaScript ภายนอก (ที่ด้านบนของรหัสไซต์) ก่อนที่จะแสดงเว็บไซต์ลูกค้าเบราว์เซอร์ของผู้เยี่ยมชมจะติดต่อเซิร์ฟเวอร์แอปของเรา ในกรณีที่เซิร์ฟเวอร์แอปของเราล่มเบราว์เซอร์จะพยายามทำการเชื่อมต่อก่อนที่จะหมดเวลา (โดยทั่วไปคือ 60 วินาที) อย่างที่คุณสามารถจินตนาการได้เราไม่สามารถทำให้เซิร์ฟเวอร์แอปของเราหยุดทำงานในสถานการณ์ใด ๆ เพราะมันจะส่งผลเสียต่อประสบการณ์ไม่เพียง แต่ผู้เยี่ยมชมเว็บไซต์ของเรา แต่ผู้เข้าชมเว็บไซต์ของลูกค้าของเรา!
ขณะนี้เรากำลังใช้กลไก DNS Failover กับเซิร์ฟเวอร์สำรองหนึ่งที่อยู่ในศูนย์ข้อมูลที่แตกต่างกัน (จริง ๆ แล้วทวีปที่แตกต่างกัน) นั่นคือเราตรวจสอบเซิร์ฟเวอร์แอปของเราจาก 3 ตำแหน่งที่แยกจากกันและทันทีที่ตรวจพบว่าหยุดทำงานเราจะเปลี่ยนระเบียน A ให้ชี้ไปที่ IP สำรองของเซิร์ฟเวอร์ วิธีนี้ใช้งานได้ดีสำหรับเบราว์เซอร์ส่วนใหญ่ (เนื่องจาก TTL ของเราคือ 2 นาที) แต่ IE จะแคช DNS เป็นเวลา 30 นาทีซึ่งอาจเป็นตัวจัดการข้อตกลง ดูโพสต์ล่าสุดของเราvisualwebsiteoptimizer.com/split-testing-blog/maximum-theoretical-downtime-for-a-website-30-minutes/
ดังนั้นการตั้งค่าแบบไหนที่เราสามารถใช้เพื่อให้แน่ใจว่ามีการล้มเหลวแบบทันทีทันใดในกรณีที่ศูนย์ข้อมูลแอพประสบปัญหาใหญ่ ฉันอ่านที่นี่www.tenereillo.com/GSLBPageOfShame.htmว่าการมีหลายระเบียน A เป็นวิธีการแก้ปัญหา แต่เราไม่สามารถจ่ายการซิงโครไนซ์เซสชันได้ (ยัง) อีกกลยุทธ์หนึ่งที่เรากำลังสำรวจคือการมีเร็กคอร์ด A สองตัวหนึ่งตัวชี้ไปที่เซิร์ฟเวอร์แอปและที่สองรองจากพร็อกซีย้อนกลับ (อยู่ในศูนย์ข้อมูลอื่น) ซึ่งแก้ไขไปที่เซิร์ฟเวอร์แอปหลักหากมี คุณคิดว่ากลยุทธ์นี้สมเหตุสมผลหรือไม่
เพียงเพื่อให้มั่นใจในลำดับความสำคัญของเราเราสามารถทำให้เว็บไซต์หรือแอพของเราหยุดทำงานได้ แต่เราไม่สามารถทำให้เว็บไซต์ของลูกค้าชะลอตัวลงได้เนื่องจากการหยุดทำงานของเรา ดังนั้นในกรณีที่เซิร์ฟเวอร์แอปของเราหยุดทำงานเราไม่ต้องการตอบสนองด้วยการตอบกลับแอปพลิเคชันเริ่มต้น แม้แต่การตอบกลับที่ว่างเปล่าก็เพียงพอแล้วเราเพียงต้องการเบราว์เซอร์ที่ทำให้การเชื่อมต่อ HTTP นั้นเสร็จสมบูรณ์ (และไม่มีอะไรอื่น)
การอ้างอิง: ฉันอ่านกระทู้นี้ซึ่งเป็นประโยชน์serverfault.com/questions/69870/multiple-data-centers-and-http-traffic-dns-round-robin-is-the-only-way-to-assure