ฉันกำลังพยายามสร้างแอปพลิเคชันที่มีความพร้อมใช้งานสูงการออกแบบปัจจุบันของฉันมี VM สองตัว ทั้งคู่มี IP สาธารณะ ทั้งคู่ทำงานในซับเน็ตเดียวกันและ VM ทั้งสองมีเว็บแอปพลิเคชันเดียวกันที่ทำงานในนักเทียบท่า ใบรับรอง ssl และการรับส่งข้อมูลไปยังแอปในนักเทียบท่าได้รับการจัดการโดย Traefik VM ตัวแรกเป็นมาสเตอร์ ดังนั้น ip ของมันจึงอัปเดตเป็น Cloudflare มี VM ตัวที่สามทำงานอยู่ซึ่งมีสคริปต์ที่เข้าชมแอปพลิเคชันผ่าน IP ของ VM ตัวแรกเพื่อตรวจสอบว่าได้รับการตอบสนองหรือไม่ หากสคริปต์ไม่ได้รับการตอบสนองจาก VM แรก มันจะส่งการแจ้งเตือนทางอีเมลเพื่อแจ้งให้ฉันทราบถึงปัญหา จากนั้นสคริปต์นี้จะอัปเดต Cloudflare ด้วย ip สาธารณะของ VM ที่สอง (ล้มเหลว) เพื่อให้ทราฟฟิกไปที่ VM ที่สอง
การออกแบบนี้ทำงานได้ดี แต่เป็นพื้นฐานมาก ฉันรู้ว่าสิ่งนี้สามารถปรับปรุงได้ แต่ฉันไม่แน่ใจว่าจะทำให้ดีขึ้นได้อย่างไร ดังนั้นต้องการคำแนะนำจากคุณ สิ่งที่ฉันต้องการทำคือเรียกใช้การตรวจสอบความสมบูรณ์ของแอปบน VM หลัก และหากแอปไม่ตอบสนองไม่ว่าด้วยเหตุผลใดก็ตาม ให้กำหนดเส้นทางการรับส่งข้อมูลไปยัง VM ที่ล้มเหลว ในระหว่างการวิจัยของฉันฉันเจอ รักษาชีวิตฉันไม่ได้ตรวจสอบ แต่ฉันคิดว่านี่อาจช่วยได้บ้าง