Sono possibili transazioni oltre il limite della macchina (tramite tcp-ip)?
-
22-07-2019 - |
Domanda
Teoricamente, si può definire un protocollo in cui una macchina esegue alcune chiamate remote su un'altra macchina (o più di una) e dove in qualsiasi parte del processo, se una qualsiasi macchina (o operazione) fallisce, o la comunicazione scende, tutto viene ripristinato? (proprio come i database possono)
Lo chiedo, poiché a livello hardware si dice sempre che non si possono fare operazioni atomiche (un ingrediente molto importante delle transazioni) senza un'operazione di processore atomico (test e set).
Ma dal momento che stiamo parlando di più macchine, questo non vola.
Ad esempio, come sarebbe difficile: supponiamo che io abbia un protocollo per emettere un comando su una macchina remota e ottenere una risposta. È possibile che venga chiamato il metodo, ma durante il transito della risposta, la connessione muore. Potrebbe quindi anche essere che la macchina che ha eseguito l'operazione pensa che tutto sia andato bene, ma la macchina ricevente non ha mai ottenuto la risposta.
L'aggiunta di Ack non aiuta poiché anche gli ack potrebbero andare persi durante il trasporto.
Interessato a leggere i pensieri degli altri (e apprendere che alcuni professori 27 anni fa probabilmente avevano già trovato una soluzione solida come una roccia).
R
Soluzione
Sì, questo problema è stato (più o meno) già risolto :)
Quello che stai cercando è il protocollo di commit in due fasi .
Nell'elaborazione delle transazioni, database, e reti di computer, il bifase il protocollo di commit (2PC) è un tipo di an protocollo di impegno atomico. È un algoritmo distribuito che coordina tutti i processi a cui partecipano una transazione atomica distribuita su se impegnarsi o interrompere (ripristinare) la transazione. Il protocollo raggiunge il suo obiettivo anche in molti casi di sistema fallimento (che coinvolge entrambi i processi, nodo di rete, comunicazione, ecc. fallimenti), ed è quindi ampiamente utilizzato.
Altri suggerimenti
Sembra i problemi standard della distribuzione.
Leggi Informatica distribuita: Principi, algoritmi e Sistemi e poni nuovamente la domanda;)