Nota
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare ad accedere o a cambiare directory.
L'accesso a questa pagina richiede l'autorizzazione. Puoi provare a cambiare directory.
Orleans Per impostazione predefinita, le garanzie di recapito della messaggistica sono al massimo una volta . Facoltativamente, se si configurano nuovi tentativi al verificarsi di un timeout, Orleans fornisce invece una consegna almeno una volta.
In dettaglio:
- Ogni messaggio in Orleans ha un timeout automatico (è possibile configurare il timeout esatto). Se la risposta non arriva in tempo, il risultato restituito Task fallisce con un'eccezione di timeout.
- È possibile configurare Orleans per eseguire nuovi tentativi automatici al timeout. Per impostazione predefinita, non esegue nuovi tentativi automatici.
- Il codice dell'applicazione può anche scegliere di implementare nuovi tentativi in caso di timeout.
Se il Orleans sistema è configurato per non eseguire tentativi automatici (impostazione predefinita) e l'applicazione non invia nuovamente messaggi, Orleans fornisce il recapito di messaggi al massimo una volta. Un messaggio viene recapitato una sola volta o non affatto. Non è mai consegnato due volte.
In un sistema con ripetizioni (dal runtime o dall'applicazione), il messaggio potrebbe arrivare più volte. Orleans attualmente non archivia in modo permanente i messaggi che sono già arrivati o eliminano le consegne successive. (Crediamo che questo sarebbe piuttosto costoso.) Quindi, in un sistema con tentativi, Orleans non garantisce la consegna al massimo una volta.
Se si continua a riprovare potenzialmente senza mai fermarsi, il messaggio alla fine arriva, fornendo così la garanzia di recapito almeno una volta. Si noti che "alla fine arriva" è un elemento che il runtime deve garantire. Non avviene automaticamente solo perché si continua a riprovare. Orleans fornisce consegna eventuale perché i grani non entrano mai in uno stato di errore permanente e un grano non riuscito viene riattivato su un altro silo.
Per riepilogare: in un sistema senza ritenti, Orleans garantisce il recapito dei messaggi al massimo una volta. In un sistema con tentativi infiniti, Orleans garantisce che si verifichi almeno una volta (e non garantisce che si verifichi al massimo una volta).
Importante
Per errore, la Orleans relazione tecnica ha menzionato solo la seconda opzione con riprovi automatici. Non viene menzionato che per impostazione predefinita, senza tentativi, Orleans fornisce il recapito al massimo una volta.