3
คำถามการตั้งค่าความพร้อมใช้งานสูงทั่วโลก
ฉันเป็นเจ้าของและดำเนินงาน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 เป็นวิธีการแก้ปัญหา แต่เราไม่สามารถจ่ายการซิงโครไนซ์เซสชันได้ …