Încerc să creez o aplicație de înaltă disponibilitate.Designul meu actual are două VM, ambele au IP-uri publice, ambele rulează în aceeași subrețea și ambele VM au aceeași aplicație web care rulează în docker. certificatele ssl și traficul către aplicație în docker este gestionat de Traefik. Prima VM este master, așa că ip-ul său este actualizat la Cloudflare. Există un al treilea VM care rulează, care are un script care accesează aplicația prin IP a primului VM pentru a verifica dacă primește răspuns sau nu. Dacă scriptul nu primește răspunsul de la primul VM, atunci trimite o notificare prin e-mail pentru a mă anunța despre problemă, iar apoi acest script actualizează Cloudflare cu ip public al celui de-al doilea (failover) VM, astfel încât traficul să ajungă la al doilea VM.
Acest design funcționează bine, dar este foarte rudimentar. Știu că acest lucru poate fi îmbunătățit, dar nu sunt sigur cum să-l îmbunătățesc, așa că am nevoie de sugestiile dvs. Ceea ce vreau să fac este să rulez o verificare a stării de sănătate a aplicației pe VM-ul principal și, dacă aplicația nu răspunde din niciun motiv, atunci direcționează traficul către VM de failover. În timpul cercetărilor mele am dat peste mentine viata, nu m-am uitat la el, dar cred că acest lucru ar putea fi de ajutor.