2013-11-25 11 views
8

Qualcuno può darmi esempi di come in produzione può essere utilizzato un ID di correlazione?Esempi pratici di come viene utilizzato l'ID di correlazione nella messaggistica?

Ho letto che viene utilizzato nei messaggi di tipo richiesta/risposta ma non capisco dove lo utilizzerei?

Un esempio (che forse è sbagliato) che riesco a pensare è in uno scenario di sottoscrizione di pubblicazione in cui potrei avere 5 iscritti e se ottengo 5 risposte con lo stesso ID di correlazione potrei dire che tutti i miei abbonati l'hanno ricevuto. Non sono sicuro se questo sarebbe l'uso corretto di esso.

Oppure, se invio un messaggio semplice, posso utilizzare la correlazione per garantire che il cliente l'abbia ricevuta.

Altri esempi?

+2

Hai visto http://www.rabbitmq.com/tutorials/tutorial-six-java.html? Ha una bella spiegazione su 'correlation_id'. – pinepain

+3

Qui [Correlazione e conversazioni] (http://www.eaipatterns.com/ramblings/09_correlation.html) è possibile visualizzare i dettagli del modello. HTH –

+0

Grazie per le risposte. Ora trovo il senso di un id di correlazione, per quanto riguarda gli esempi di vita reale in cui è stato utilizzato l'id di correlazione? –

risposta

5

Un'applicazione Web che fornisce API HTTP per estranei per l'esecuzione di un'attività di elaborazione e si desidera fornire i risultati per il chiamante come risposta alla richiesta HTTP effettuata.

Una richiesta arriva, messaggio che descrive l'attività è spinto a fare la coda dal server frontend. Successivamente, il server di frontend si blocca per attendere il messaggio di risposta con lo stesso ID di correlazione. Un gruppo di macchine worker sta ascoltando in coda e uno di loro preleva l'attività, la esegue e restituisce il risultato come messaggio. Una volta che arriva un messaggio con giusto ID di correlazione, il server di frontend continua a restituire la risposta al chiamante.

4

Nel contesto di CQRS and EventSourcing un ID di correlazione del messaggio di comando molto probabilmente verrà memorizzato insieme agli eventi corrispondenti dal dominio. Queste informazioni possono essere successivamente utilizzate per formare un audit trail.

+0

puoi dare un esempio più concreto di cosa trasmettere correlationId? Grazie – Marconi

Problemi correlati