Domanda

Ho un problema qui. Supponiamo di avere un compito di business periodico, per esempio la generazione di saldo ogni mese. Questo compito potrebbe essere eseguito in una fattoria, quindi se il computer che esegue il compito periodico falliscono, deve essere passato a un altro computer.

Quindi, come potrei persistere un compito periodico e rendendolo sicuro in una fattoria? Ho pensata in una coda permanente e condivisa, ma sono del tutto bloccato.

Tutte le idee?

Grazie in anticipo.

È stato utile?

Soluzione

Ci sono un sacco di fattori mancanti sulla vostra domanda. Come stai accedendo al compito? Si tratta di un servizio web? Una chiamata di procedura remota? Ha eseguito da solo e quindi memorizzare i risultati in una cartella di condivisione?

Se è solo servizi web, allora la soluzione potrebbe essere proprio a loro interrogare in ordine, se uno non è disponibile quindi procedere alla successiva ... probabilmente RPC potrebbe semplicemente essere trattato con la stessa procedura. Naturalmente questo non scala così bene ed è un po 'ad hoc ma potrebbe solo fare il trucco se non si ha tempo per altro.

Se avete il tempo e il denaro necessario per davvero scala che si dovrebbe dare un'occhiata a riconfigurazione di controllo che è la base per il tipo di tolleranza ai guasti che stai cercando. Naturalmente questo comporterà un controller (macchine cautelari in @jldupont li chiama), così come un sacco di meccanismo e lo sforzo per tenere tutto insieme.

E 'valsa la pena solo se si ha realmente bisogno. È un grande investimento in termini di tempo e denaro quindi non coraggiosamente farlo solo perché è cool.

Altri suggerimenti

Il passaggio da 1 a> 1 è sempre un grande passo.

Opzione 1

È necessario (tra le altre cose):

  • macchine Supervisor
  • protocollo Heart-beat / individuazione di guasti
  • protocollo di elezione per il Job scheduler
  • Job Scheduler
  • segnalazione Job

ecc.

Opzione 2

Proprio hanno più macchine fare il compito e selezionare l'uscita di successo da uno di loro (o utilizzare il voto a maggioranza se si sente avete bisogno).

Non sei sicuro di ciò che il vostro stack tecnologico è, ma dare un'occhiata a quarzo (o Quartz.net se si utilizza lo stack .NET). Il quarzo è un job scheduler impresa con robuste funzionalità di fail-over / ha.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top