Come dice il titolo, qual è la differenza tra timer watchdog e heartbeat signal ? Quando usare ciascuno di essi.
Come dice il titolo, qual è la differenza tra timer watchdog e heartbeat signal ? Quando usare ciascuno di essi.
Lo descriverei così:
A heartbeat is a changing signal that implies that something is alive.
e
A watchdog timer looks over something and if it hasn't observed a change within in set time it performs an action.
Quindi potresti dire che:
A heartbeat signal supplies the data that a watchdog timer consumes in order to decide whether to perform its action.
Nel lavoro che faccio (controllo industriale) ricevo un segnale di battito cardiaco da un dispositivo esterno e se non vedo un cambiamento entro un tempo prestabilito innalzerei un allarme che agisce anche per arrestare l'esecuzione del sistema come Ora non so quale sia lo stato di quel dispositivo esterno.
Se non sbaglio, l'heartbeat è un controllo delle comunicazioni tra due server, tramite un cavo point-to-point, in modo che un server sappia che l'altro è SU, solitamente per scalare un server in modalità master o eseguire alcuni altre azioni di fail-over, controlla la connessione fisica o la disponibilità hardware, mentre watchdog è un processo in cui due componenti software, ad esempio due motori di database o due livelli di disponibilità elevata a controllo reciproco, verificano reciprocamente la disponibilità per estendere la stessa a modalità master o per eseguire altre azioni di failover come la promozione di un back-end in modalità master.
Ad esempio, in una configurazione ad alta disponibilità con due server, tali server possono disporre di un'interfaccia di rete point-to-point dedicata per verificare che l'altro nodo sia attivo. Se tale verifica fallisce, essendo una connessione fisica e sicura (di solito fisicamente vicine l'una all'altra come nello stesso centro dati), si può tranquillamente presumere che l'altro nodo sia inattivo. Nella stessa configurazione, entrambi i server possono disporre di un sistema di bilanciamento della disponibilità / carico di lavoro elevato (per evitare un singolo punto di errore), ma entrambi i bilanciatori controllano se l'altro è inattivo per eseguire l'escalation dei back-end, attivare una modifica IP mobile ecc.
Bottom-line: watchdog è per software e heartbeat è per hardware.
Non sono esperto qui, parlo solo di esperienza su un impianto ad alta disponibilità che mantengo che ha due server con PostgreSQL (master e slave) in streaming, e PGPOOL2 in ogni nodo, uno attivo e uno stand-by e un indirizzo IP pubblico mobile.
Leggi altre domande sui tag polling monitoring