ฉันคิดว่าคุณกำลังทำผิดทางอยู่ แจ้งให้เราทราบหากฉันกำลังตั้งสมมติฐานผิดที่นี่
สถานการณ์:
- คุณมีเซิร์ฟเวอร์ windows สองเครื่องที่ใช้งานเว็บแอปพลิเคชันเดียวกันอาจอยู่ใน IIS
- คุณต้องการให้แอปพลิเคชันของคุณทนต่อความผิดพลาดเพื่อที่ว่าหากหนึ่งในเซิร์ฟเวอร์ล้มเหลวแอปพลิเคชันของคุณยังคงพร้อมใช้งาน
- คุณต้องการให้การยอมรับข้อผิดพลาดนี้โปร่งใสกับเบราว์เซอร์เพื่อให้ผู้ใช้สามารถเข้าถึงแอปพลิเคชันด้วยชื่อโฮสต์เดียวกันเช่น gateway.net
สิ่งที่คุณพยายามทำเรียกว่าround-robin DNS (หรือที่รู้จักในการโหลดบาลานซ์ที่สมดุล) แต่คุณพยายามทำสิ่งนี้จากฝั่งไคลเอ็นต์ ดูเหมือนว่าจะไม่มีผลที่ต้องการ (อย่างน้อยในกล่อง Windows XP ของฉัน) แม้ว่าฉันจะล้างแคช DNS Windows จะแก้ไขเฉพาะ IP แรกในไฟล์เท่านั้น อย่างไรก็ตาม round-robin DNS นั้นไม่สามารถทนต่อความผิดพลาดได้ดังนั้นสิ่งนี้จะไม่ช่วยให้คุณบรรลุสิ่งที่คุณต้องการ
วิธีแก้ปัญหาที่แนะนำ:
ตัวโหลดบาลานซ์ของฮาร์ดแวร์:บางยี่ห้อเป็น Alteon, Big-IP, Barracuda สิ่งนี้จะเป็นเพียงการนำเสนอ IP เดียวสำหรับผู้ใช้ของคุณเพื่อเชื่อมต่อ & มันจะส่งต่อการร้องขอไปยังเว็บเซิร์ฟเวอร์ หากเซิร์ฟเวอร์ตัวใดตัวหนึ่งไม่สามารถใช้งานได้จะไม่มีการส่งต่อการรับส่งข้อมูลอีกต่อไป นี่คือตัวเลือกที่แพง
Network Load Balancing Services:นี่คือเทคโนโลยีของ Microsoft ที่มีอยู่บน windows server ซึ่งจะให้ IP แบบคลัสเตอร์เดียวแก่คุณ มันบรรลุผลเช่นเดียวกับ load balancer ฮาร์ดแวร์ แต่ในวิธีที่ต่างกัน ทั้งหมดที่คุณต้องทำคือการกำหนดค่า