Tôi đang cố gắng tạo ứng dụng có tính sẵn sàng cao.Thiết kế hiện tại của tôi có hai máy ảo, cả hai đều có IP công khai, cả hai đều chạy trong cùng một mạng con và cả hai máy ảo đều có cùng một ứng dụng web chạy trong docker. ssl certs và lưu lượng truy cập vào ứng dụng trong docker được quản lý bởi Traefik. VM đầu tiên là master nên ip của nó được cập nhật lên Cloudflare. Có một máy ảo thứ ba đang chạy có tập lệnh truy cập ứng dụng qua IP của máy ảo đầu tiên để kiểm tra xem nó có nhận được phản hồi hay không. Nếu tập lệnh không nhận được phản hồi từ máy ảo đầu tiên thì tập lệnh sẽ gửi thông báo qua email để thông báo cho tôi về sự cố và sau đó tập lệnh này cập nhật Cloudflare bằng ip công khai của máy ảo thứ hai (chuyển đổi dự phòng) để lưu lượng truy cập đến máy ảo thứ hai.
Thiết kế này đang hoạt động tốt nhưng nó rất thô sơ. Tôi biết điều này có thể được cải thiện nhưng tôi không chắc làm thế nào để làm cho nó tốt hơn nên cần các đề xuất của bạn. Điều tôi muốn làm là chạy kiểm tra tình trạng của ứng dụng trên máy ảo chính và nếu ứng dụng đó không phản hồi vì bất kỳ lý do gì thì hãy định tuyến lưu lượng đến máy ảo chuyển đổi dự phòng. Trong quá trình nghiên cứu tôi đã bắt gặp giữ nguyên, Tôi đã không xem xét nó nhưng tôi nghĩ rằng điều này có thể giúp ích được gì đó.